Funzione CredUIParseUserNameW (wincred.h)

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

Sintassi

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

Parametri

[in] UserName

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

[out] user

Puntatore a una stringa con terminazione Null che riceve il nome dell'account utente.

[in] userBufferSize

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

Nota CREDUI_MAX_USERNAME_LENGTH non include il carattere null di terminazione.
 

[out] domain

Puntatore a una stringa con terminazione Null che riceve il nome di dominio. Se pszUserName specifica un certificato, pszDomain sarà NULL.

[in] domainBufferSize

Numero massimo di caratteri da scrivere nella stringa pszDomain , incluso il carattere Null di terminazione.

Nota CREDUI_MAX_DOMAIN_TARGET_LENGTH non include il carattere Null di 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, pszUser o pszDomain è NULL.

Commenti

Questa funzione analizza le informazioni sul nome utente restituite dalle funzioni CredUIPromptForCredentials e CredUICmdLinePromptForCredentials 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 alle credenziali di 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 domainName <> viene restituito è il parametro Domain. Il nome viene considerato avere questa sintassi se 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 usato l'ultimo @ nella stringa perché <UserName> può contenere un oggetto @ 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincred.h
Libreria Credui.lib
DLL Credui.dll

Vedi anche

CredIsMarshaledCredential

CredUICmdLinePromptForCredentials

CredUIPromptForCredentials

Logonuser