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.
[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.
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 |