Compartir a través de


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 un cadenaterminada 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 en un certificado. Normalmente, se recibe pszUserName de la CredUIPromptForCredentials o CredUICmdLinePromptForCredentials.

[out] user

Puntero a un cadena terminada en nullque recibe el nombre de la cuenta de usuario.

[in] userBufferSize

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

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

[out] domain

Puntero a un cadena terminada en nullque recibe el nombre de dominio. Si pszUserName especifica un certificado, pszDomain se NULL.

[in] domainBufferSize

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

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

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.

Observaciones

Esta función analiza la información de nombre de usuario devuelta por las funciones CredUIPromptForCredential s y CredUICmdLinePromptForCredentials funciones 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. Dicha credencial se devuelve en el parámetro usuario de . El parámetro dominio está establecido en una cadena vacía.

  • <DomainName>\<UserName>

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

  • <UserName>@<DNSDomainName>

    La cadena completa se devuelve en el parámetro User. El parámetro dominio está establecido 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wincred.h
biblioteca de Credui.lib
DLL de Credui.dll

Consulte también

credIsMarshaledCredential

CredUICmdLinePromptForCredentials

CredUIPromptForCredentials

logonUser