Partager via


CredUIParseUserNameW, 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 CredUIParseUserNameW(
  [in]  PCWSTR UserName,
  [out] WCHAR  *user,
  [in]  ULONG  userBufferSize,
  [out] WCHAR  *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, userName 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.

Remarque CREDUI_MAX_USERNAME_LENGTH n’inclut pas le caractère de fin 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.

Remarque CREDUI_MAX_DOMAIN_TARGET_LENGTH n’inclut pas le caractère null de fin.
 

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

Voir aussi

CredIsMarshaledCredential

CredUICmdLinePromptForCredentials

CredUIPromptForCredentials

logonUser