CredUIParseUserNameA, fonction (wincred.h)
La fonction CredUIParseUserName extrait le nom de domaine et de 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 null-terminated qui contient le nom d’utilisateur à analyser. Le nom doit être au format UPN ou bas niveau, ou un certificat. En règle générale, pszUserName est reçu du CredUIPromptForCredentials ou CredUICmdLinePromptForCredentials.
[out] user
Pointeur vers une chaîne null-terminated qui reçoit le nom du compte d’utilisateur.
[in] userBufferSize
Nombre maximal de caractères à écrire dans la chaîne pszUser, y compris la fin caractère null.
[out] domain
Pointeur vers une chaîne null-terminated qui reçoit le nom de domaine. Si pszUserName spécifie un certificat, pszDomain sera NULL.
[in] domainBufferSize
Nombre maximal de caractères à écrire dans la chaîne pszDomain, y compris la fin caractère null.
Valeur de retour
Cette fonction retourne les éléments suivants :
- 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, pszUserou pszDomain est 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 résultantes 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>
Informations de référence sur les informations d’identification marshalées définies par CredIsMarshaledCredential. Ces informations d’identification sont retournées dans le paramètre utilisateur
. Le paramètre Domaine 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 l'UserName contient une barre oblique inverse (\).
-
<UserName>@<DNSDomainName>
La chaîne entière est retournée dans le paramètre User. Le paramètre Domaine est défini sur une chaîne vide. Pour cette syntaxe, le dernier @ de la chaîne est utilisé, car <nom d’utilisateur> peut contenir un @ mais <DNSDomainName> ne peut pas.
Note
L’en-tête wincred.h définit CredUIParseUserName comme 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | wincred.h |
bibliothèque | Credui.lib |
DLL | Credui.dll |