Compartilhar via


Função CredUIParseUserNameW (wincred.h)

A função CredUIParseUseUserName extrai o nome de conta de usuário e domínio de um nome de usuário totalmente qualificado.

Sintaxe

CREDUIAPI DWORD CredUIParseUserNameW(
  [in]  PCWSTR UserName,
  [out] WCHAR  *user,
  [in]  ULONG  userBufferSize,
  [out] WCHAR  *domain,
  [in]  ULONG  domainBufferSize
);

Parâmetros

[in] UserName

Ponteiro para um cadeia de caracteresterminada nula que contém o nome de usuário a ser analisado. O nome deve estar no formato UPN ou no nível inferior ou em um certificado. Normalmente, UserName é recebido do CredUIPromptForCredentials ou CredUICmdLinePromptForCredentials.

[out] user

Ponteiro para um cadeia de caracteresterminada nula que recebe o nome da conta de usuário.

[in] userBufferSize

Número máximo de caracteres a serem gravados na cadeia de caracteres de pszUser, incluindo a terminação caractere de nulo.

Observação CREDUI_MAX_USERNAME_LENGTH NÃO inclui o caractere de nulo terminação.
 

[out] domain

Ponteiro para um cadeia de caracteresterminada nula 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 de pszDomain , incluindo a terminação caractere de nulo.

Observação CREDUI_MAX_DOMAIN_TARGET_LENGTH NÃO inclui o caractere de nulo terminação.
 

Valor de retorno

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, pszUserou pszDomain é NULL.

Observações

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.

Há suporte para os seguintes formatos:

  • > MarshalledCredentialReference <

    Referência de credencial marshalada, 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 o <DomainName> é retornado é o parâmetro Domain. O nome será considerado com 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.

Nota

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 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 XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho wincred.h
biblioteca Credui.lib
de DLL Credui.dll

Consulte também

CredIsMarshaledCredential

CredUICmdLinePromptForCredentials

CredUIPromptForCredentials

logonUser