Fonction CredUIParseUserNameA (wincred.h)
La fonction CredUIParseUserName extrait le nom du domaine et du compte d’utilisateur d’un nom d’utilisateur complet.
Syntaxe
CREDUIAPI DWORD CredUIParseUserNameA(
[in] PCSTR userName,
[out] CHAR *user,
[in] ULONG userBufferSize,
[out] CHAR *domain,
[in] ULONG domainBufferSize
);
Paramètres
[in] userName
Pointeur vers une chaîne terminée par null qui contient le nom d’utilisateur à analyser. Le nom doit être au format UPN ou de niveau inférieur, ou d’un certificat. En règle générale, pszUserName est reçu de CredUIPromptForCredentials ou CredUICmdLinePromptForCredentials.
[out] user
Pointeur vers une chaîne terminée par null qui reçoit le nom du compte d’utilisateur.
[in] userBufferSize
Nombre maximal de caractères à écrire dans la chaîne pszUser , y compris le caractère null de fin.
[out] domain
Pointeur vers une chaîne terminée par null qui reçoit le nom de domaine. Si pszUserName spécifie un certificat, pszDomain aura la valeur NULL.
[in] domainBufferSize
Nombre maximal de caractères à écrire dans la chaîne pszDomain , y compris le caractère null de fin.
Valeur retournée
Cette fonction retourne ce qui suit :
- NO_ERROR
Le nom d’utilisateur est valide.
- ERROR_INVALID_ACCOUNT_NAME
Le nom d’utilisateur n’est pas valide.
- ERROR_INSUFFICIENT_BUFFER
L’une des mémoires tampons est trop petite.
- ERROR_INVALID_PARAMETER
- ulUserMaxChars ou ulDomainMaxChars est égal à zéro.
- pszUserName, pszUser ou pszDomain a la valeur NULL.
Remarques
Cette fonction analyse les informations de nom d’utilisateur retournées par les fonctions CredUIPromptForCredentials et CredUICmdLinePromptForCredentials afin que les informations d’identification obtenues puissent être transmises à des fonctions, telles que LogonUser, qui nécessitent le nom d’utilisateur et le domaine sous forme de chaînes distinctes.
Les formats suivants sont pris en charge :
- <MarshalledCredentialReference>
Référence d’informations d’identification marshalées telle que définie par CredIsMarshaledCredential. Ces informations d’identification sont retournées dans le paramètre User . Le paramètre Domain est défini sur une chaîne vide.
- <DomainName>\<UserName>
<UserName> est retourné dans le paramètre User et le <DomainName> est retourné est le paramètre Domain . Le nom est considéré comme ayant cette syntaxe si userName contient une barre oblique inverse (\).
- <UserName>@<DNSDomainName>
La chaîne entière est retournée dans le paramètre User . Le paramètre Domain est défini sur une chaîne vide. Pour cette syntaxe, le dernier @ de la chaîne est utilisé, car <UserName> peut contenir un @ mais <DNSDomainName> ne peut pas.
Notes
L’en-tête wincred.h définit CredUIParseUserName comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincred.h |
Bibliothèque | Credui.lib |
DLL | Credui.dll |