Función CredUIParseUserNameA (wincred.h)

La función CredUIParseUserName extrae el nombre de dominio y cuenta de usuario de un nombre de usuario completo.

Sintaxis

CREDUIAPI DWORD CredUIParseUserNameA(
  [in]  PCSTR userName,
  [out] CHAR  *user,
  [in]  ULONG userBufferSize,
  [out] CHAR  *domain,
  [in]  ULONG domainBufferSize
);

Parámetros

[in] userName

Puntero a una cadena terminada en null que contiene el nombre de usuario que se va a analizar. El nombre debe estar en formato UPN o de nivel descendente, o bien en un certificado. Normalmente, pszUserName se recibe de CredUIPromptForCredentials o CredUICmdLinePromptForCredentials.

[out] user

Puntero a una cadena terminada en null que recibe el nombre de la cuenta de usuario.

[in] userBufferSize

Número máximo de caracteres que se van a escribir en la cadena pszUser , incluido el carácter nulo de terminación.

Nota CREDUI_MAX_USERNAME_LENGTH NO incluye el carácter nulo de terminación.
 

[out] domain

Puntero a una cadena terminada en null que recibe el nombre de dominio. Si pszUserName especifica un certificado, pszDomain será NULL.

[in] domainBufferSize

Número máximo de caracteres que se van a escribir en la cadena pszDomain , incluido el carácter nulo de terminación.

Nota CREDUI_MAX_DOMAIN_TARGET_LENGTH NO incluye el carácter nulo de terminación.
 

Valor devuelto

Esta función devuelve lo siguiente:

  • NO_ERROR

    El nombre de usuario es válido.

  • ERROR_INVALID_ACCOUNT_NAME

    El nombre de usuario no es válido.

  • ERROR_INSUFFICIENT_BUFFER

    Uno de los búferes es demasiado pequeño.

  • ERROR_INVALID_PARAMETER
    • ulUserMaxChars o ulDomainMaxChars es cero.
    • pszUserName, pszUser o pszDomain es NULL.

Comentarios

Esta función analiza la información de nombre de usuario devuelta por las funciones CredUIPromptForCredentials y CredUICmdLinePromptForCredentials para que las credenciales resultantes se puedan pasar a funciones, como LogonUser, que requieren el nombre de usuario y el dominio como cadenas independientes.

Se admiten los siguientes formatos:

  • <MarshalledCredentialReference>

    Referencia de credenciales serialadas definida por CredIsMarshaledCredential. Esta credencial se devuelve en el parámetro User . El parámetro Domain se establece en una cadena vacía.

  • <DomainName>\<UserName>

    <UserName> se devuelve en el parámetro User y se <devuelve DomainName> es el parámetro Domain . El nombre se considera que tiene esta sintaxis si username contiene una barra diagonal inversa (\).

  • <UserName>@<DNSDomainName>

    La cadena completa se devuelve en el parámetro User . El parámetro Domain se establece en una cadena vacía. Para esta sintaxis, se usa la última @ de la cadena porque <UserName> puede contener un @ pero <DNSDomainName> no.

Nota

El encabezado wincred.h define CredUIParseUserName como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincred.h
Library Credui.lib
Archivo DLL Credui.dll

Consulte también

CredIsMarshaledCredential

CredUICmdLinePromptForCredentials

CredUIPromptForCredentials

LogonUser