Condividi tramite


Funzione CredUIParseUserNameA (wincred.h)

La funzione CredUIParseUserName estrae il nome di dominio e dell'account utente da un nome utente completo.

Sintassi

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

Parametri

[in] userName

Puntatore a un nullstringa con terminazione contenente il nome utente da analizzare. Il nome deve essere in formato UPN o di livello inferiore o un certificato. In genere, pszUserName viene ricevuto dal CredUIPromptForCredentials o CredUICmdLinePromptForCredentials.

[out] user

Puntatore a un nullstringa con terminazione che riceve il nome dell'account utente.

[in] userBufferSize

Numero massimo di caratteri da scrivere nella stringa pszUser incluso il carattere di terminazione null.

Nota CREDUI_MAX_USERNAME_LENGTH non include il carattere di null terminazione.
 

[out] domain

Puntatore a un nullstringa con terminazione che riceve il nome di dominio. Se pszUserName specifica un certificato, pszDomain verrà NULL.

[in] domainBufferSize

Numero massimo di caratteri da scrivere nella stringa pszDomain, inclusa la terminazione carattere null.

Nota CREDUI_MAX_DOMAIN_TARGET_LENGTH non include il carattere di null terminazione.
 

Valore restituito

Questa funzione restituisce quanto segue:

  • NO_ERROR

    Il nome utente è valido.

  • ERROR_INVALID_ACCOUNT_NAME

    Il nome utente non è valido.

  • ERROR_INSUFFICIENT_BUFFER

    Uno dei buffer è troppo piccolo.

  • ERROR_INVALID_PARAMETER
    • ulUserMaxChars o ulDomainMaxChars è zero.
    • pszUserName, pszUsero pszDomain è NULL.

Osservazioni

Questa funzione analizza le informazioni sul nome utente restituite dalla CredUIPromptForCredentials e CredUICmdLinePromptForCredentials funzioni in modo che le credenziali risultanti possano essere passate alle funzioni, ad esempio LogonUser, che richiedono il nome utente e il dominio come stringhe separate.

Sono supportati i formati seguenti:

  • <MarshalledCredentialReference>

    Riferimento delle credenziali di cui è stato eseguito il marshalling come definito da CredIsMarshaledCredential. Tale credenziale viene restituita nel parametro user . Il parametro domain è impostato su una stringa vuota.

  • <DomainName>\<UserName>

    UserName viene restituito nel parametro user e viene restituito DomainName è il parametro Domain . Il nome viene considerato avere questa sintassi se il UserName contiene una barra rovesciata (\).

  • <UserName>@<DNSDomainName>

    L'intera stringa viene restituita nel parametro user . Il parametro domain è impostato su una stringa vuota. Per questa sintassi, viene utilizzato l'ultimo elemento @ nella stringa perché <UserName> può contenere un valore @ ma <DNSDomainName> non può.

Nota

L'intestazione wincred.h definisce CredUIParseUserName come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione wincred.h
libreria Credui.lib
dll Credui.dll

Vedere anche

CredIsMarshaledCredential

CredUICmdLinePromptForCredentials

CredUIPromptForCredentials

LogonUser