Função CredUIParseUserNameA (wincred.h)
A função CredUIParseUserName extrai o nome de conta de usuário e domínio de um nome de usuário totalmente qualificado.
Sintaxe
CREDUIAPI DWORD CredUIParseUserNameA(
[in] PCSTR userName,
[out] CHAR *user,
[in] ULONG userBufferSize,
[out] CHAR *domain,
[in] ULONG domainBufferSize
);
Parâmetros
[in] userName
Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome de usuário a ser analisado. O nome deve estar no formato UPN ou de nível inferior ou em um certificado. Normalmente, pszUserName é recebido de CredUIPromptForCredentials ou CredUICmdLinePromptForCredentials.
[out] user
Ponteiro para uma cadeia de caracteres terminada em nulo que recebe o nome da conta de usuário.
[in] userBufferSize
Número máximo de caracteres a serem gravados na cadeia de caracteres pszUser , incluindo o caractere nulo de terminação.
[out] domain
Ponteiro para uma cadeia de caracteres terminada em nulo que recebe o nome de domínio. Se pszUserName especificar um certificado, pszDomain será NULL.
[in] domainBufferSize
Número máximo de caracteres a serem gravados na cadeia de caracteres pszDomain , incluindo o caractere nulo de terminação.
Retornar valor
Essa função retorna o seguinte:
- NO_ERROR
O nome de usuário é válido.
- ERROR_INVALID_ACCOUNT_NAME
O nome de usuário não é válido.
- ERROR_INSUFFICIENT_BUFFER
Um dos buffers é muito pequeno.
- ERROR_INVALID_PARAMETER
- ulUserMaxChars ou ulDomainMaxChars é zero.
- pszUserName, pszUser ou pszDomain é NULL.
Comentários
Essa função analisa as informações de nome de usuário retornadas pelas funções CredUIPromptForCredentials e CredUICmdLinePromptForCredentials para que as credenciais resultantes possam ser passadas para funções, como LogonUser, que exigem o nome de usuário e o domínio como cadeias de caracteres separadas.
Os formatos a seguir são suportados:
- <MarshalledCredentialReference>
Referência de credencial com marshaling conforme definido por CredIsMarshaledCredential. Essa credencial é retornada no parâmetro User . O parâmetro Domain é definido como uma cadeia de caracteres vazia.
- <DomainName>\<UserName>
<UserName> é retornado no parâmetro User e DomainName <> é retornado é o parâmetro Domain. O nome será considerado como tendo essa sintaxe se o UserName contiver uma barra invertida (\).
- <UserName>@<DNSDomainName>
A cadeia de caracteres inteira é retornada no parâmetro User . O parâmetro Domain é definido como uma cadeia de caracteres vazia. Para essa sintaxe, o último @ na cadeia de caracteres é usado porque <UserName> pode conter um @ mas <DNSDomainName> não pode.
Observação
O cabeçalho wincred.h define CredUIParseUserName como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
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 | wincred.h |
Biblioteca | Credui.lib |
DLL | Credui.dll |