Compartilhar via


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.

Nota CREDUI_MAX_USERNAME_LENGTH NÃO inclui 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.

Nota CREDUI_MAX_DOMAIN_TARGET_LENGTH NÃO inclui 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

Confira também

CredIsMarshaledCredential

CredUICmdLinePromptForCredentials

CredUIPromptForCredentials

LogonUser