Função CredUIPromptForWindowsCredentialsA (wincred.h)
A função CredUIPromptForWindowsCredentials cria e exibe uma caixa de diálogo configurável que permite que os usuários forneçam informações de credencial usando qualquer provedor de credenciais instalado no computador local.
Sintaxe
CREDUIAPI DWORD CredUIPromptForWindowsCredentialsA(
[in, optional] PCREDUI_INFOA pUiInfo,
[in] DWORD dwAuthError,
[in, out] ULONG *pulAuthPackage,
[in, optional] LPCVOID pvInAuthBuffer,
[in] ULONG ulInAuthBufferSize,
[out] LPVOID *ppvOutAuthBuffer,
[out] ULONG *pulOutAuthBufferSize,
[in, out, optional] BOOL *pfSave,
[in] DWORD dwFlags
);
Parâmetros
[in, optional] pUiInfo
Um ponteiro para uma estrutura CREDUI_INFO que contém informações para personalizar a aparência da caixa de diálogo exibida por essa função.
Se o hwndParent membro da estrutura CREDUI_INFO não estiver NULL, essa função exibirá uma caixa de diálogo modal centralizada na janela pai.
Se o hwndParent membro da estrutura CREDUI_INFO for NULL, a função exibirá uma caixa de diálogo centralizada na tela.
Essa função ignora o hbmBanner membro da estrutura CREDUI_INFO.
[in] dwAuthError
Um código de erro do Windows, definido em Winerror.h, que é exibido na caixa de diálogo. Se as credenciais coletadas anteriormente não forem válidas, o chamador usará esse parâmetro para passar a mensagem de erro da API que coletou as credenciais (por exemplo, Winlogon) para essa função. A mensagem de erro correspondente é formatada e exibida na caixa de diálogo. Defina o valor desse parâmetro como zero para não exibir nenhuma mensagem de erro.
[in, out] pulAuthPackage
Na entrada, o valor desse parâmetro é usado para especificar o pacote de autenticação para o qual as credenciais no buffer pvInAuthBuffer
Para obter o valor apropriado a ser usado para esse parâmetro na entrada, chame a função LsaLookupAuthenticationPackage e use o valor do parâmetro AuthenticationPackage dessa função.
Na saída, esse parâmetro especifica o pacote de autenticação para o qual as credenciais no buffer ppvOutAuthBuffer são serializadas.
[in, optional] pvInAuthBuffer
Um ponteiro para um BLOB de credencial usado para preencher os campos de credencial na caixa de diálogo. Defina o valor desse parâmetro para NULL para deixar os campos de credencial vazios.
[in] ulInAuthBufferSize
O tamanho, em bytes, do buffer pvInAuthBuffer.
[out] ppvOutAuthBuffer
O endereço de um ponteiro que, na saída, especifica o BLOB de credencial. Para credenciais Kerberos, NTLM ou Negotiate, chame a função CredUnPackAuthenticationBuffer para converter esse BLOB em representações de cadeia de caracteres das credenciais.
Quando terminar de usar o BLOB de credencial, desmarque-o da memória chamando a função
[out] pulOutAuthBufferSize
O tamanho, em bytes, do buffer ppvOutAuthBuffer.
[in, out, optional] pfSave
Um ponteiro para um valor booliano que, na entrada, especifica se a caixa de seleção Salvar está marcada na caixa de diálogo exibida por essa função. Na saída, o valor desse parâmetro especifica se a caixa de seleção
Esse parâmetro será ignorado se o sinalizador de
[in] dwFlags
Um valor que especifica o comportamento dessa função. Esse valor pode ser uma combinação orOR bit a bit de um ou mais dos valores a seguir.
Valor | Significado |
---|---|
|
O chamador está solicitando que o provedor de credenciais retorne o nome de usuário e a senha em texto sem formatação.
Esse valor não pode ser combinado com SECURE_PROMPT. |
|
A caixa de seleção Salvar é exibida na caixa de diálogo. |
|
Somente provedores de credenciais que dão suporte ao pacote de autenticação especificado pelo parâmetro pulAuthPackage devem ser enumerados.
Esse valor não pode ser combinado com CREDUIWIN_IN_CRED_ONLY. |
|
Somente as credenciais especificadas pelo parâmetro pvInAuthBuffer para o pacote de autenticação especificado pelo parâmetro pulAuthPackage devem ser enumeradas.
Se esse sinalizador estiver definido e o parâmetro pvInAuthBuffer for NULL, a função falhará. Esse valor não pode ser combinado com CREDUIWIN_AUTHPACKAGE_ONLY. |
|
Os provedores de credenciais devem enumerar somente os administradores. Esse valor destina-se apenas a fins de UAC (Controle de Conta de Usuário). Recomendamos que os chamadores externos não definam esse sinalizador. |
|
Somente as credenciais de entrada para o pacote de autenticação especificado pelo parâmetro pulAuthPackage devem ser enumeradas. |
|
A caixa de diálogo de credencial deve ser exibida na área de trabalho segura. Esse valor não pode ser combinado com CREDUIWIN_GENERIC.
Windows Vista: Esse valor tem suporte a partir do Windows Vista com SP1. |
|
A caixa de diálogo de credencial é invocada pela função SspiPromptForCredentials e o cliente é solicitado antes de um handshake anterior. Se SSPIPFC_NO_CHECKBOX for passado no parâmetro pvInAuthBuffer Windows Vista: Esse valor tem suporte a partir do Windows Vista com SP1. |
|
O provedor de credenciais não empacotará o nome da autoridade do AAD. Isso só é aplicado a dispositivos ingressados no Azure AD.
Windows 10, versão 1607: Esse valor tem suporte a partir do Windows 10, versão 1607. |
|
O provedor de credenciais deve alinhar o BLOB de credenciais apontado pelo parâmetro ppvOutAuthBuffer |
|
As credenciais do Windows Hello serão empacotadas em um buffer de autenticação de cartão inteligente. Isso só se aplica aos provedores de credenciais de detecção facial, impressão digital e PIN.
Windows 10, versão 1809: Esse valor tem suporte a partir do Windows 10, versão 1809. |
Valor de retorno
Se a função for bem-sucedida, a função retornará ERROR_SUCCESS. Se a função for cancelada pelo usuário, ela retornará ERROR_CANCELLED. Qualquer outro valor retornado indica que a função falhou ao carregar.
Observações
Essa função não salva credenciais.
Aplicativos que usam de SSPI para autenticar usuários não devem chamar essa função. Em vez disso, chame SspiPromptForCredentials.
Nota
O cabeçalho wincred.h define CredUIPromptForWindowsCredentials como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2008 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | wincred.h |
biblioteca | Credui.lib |
de DLL |
Credui.dll |