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