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