Freigeben über


CredUIParseUserNameA-Funktion (wincred.h)

Die CredUIParseUserName-Funktion extrahiert den Domänen- und Benutzerkontonamen aus einem vollqualifizierten Benutzernamen.

Syntax

CREDUIAPI DWORD CredUIParseUserNameA(
  [in]  PCSTR userName,
  [out] CHAR  *user,
  [in]  ULONG userBufferSize,
  [out] CHAR  *domain,
  [in]  ULONG domainBufferSize
);

Parameter

[in] userName

Zeigen Sie auf eine NULL--terminated-Zeichenfolge, die den zu analysierenden Benutzernamen enthält. Der Name muss im UPN- oder Down-Level-Format oder in einem Zertifikat vorliegen. In der Regel wird pszUserName von der CredUIPromptForCredentials oder CredUICmdLinePromptForCredentialsempfangen.

[out] user

Zeigen Sie auf eine NULL--terminated-Zeichenfolge, die den Benutzernamen empfängt.

[in] userBufferSize

Maximale Anzahl von Zeichen, die in die pszUser- Zeichenfolge geschrieben werden sollen, einschließlich des endenden Null- Zeichens.

Hinweis enthält CREDUI_MAX_USERNAME_LENGTH nicht das beendende null Zeichen.
 

[out] domain

Zeigen Sie auf eine NULL--terminated-Zeichenfolge, die den Domänennamen empfängt. Wenn pszUserName ein Zertifikat angibt, wird pszDomain-NULL-.

[in] domainBufferSize

Maximale Anzahl von Zeichen, die in die pszDomain--Zeichenfolge geschrieben werden sollen, einschließlich des endenden NULL- Zeichens.

Hinweis CREDUI_MAX_DOMAIN_TARGET_LENGTH enthält nicht das beendende Nullzeichen Zeichen.
 

Rückgabewert

Diese Funktion gibt Folgendes zurück:

  • NO_ERROR

    Der Benutzername ist gültig.

  • ERROR_INVALID_ACCOUNT_NAME

    Der Benutzername ist ungültig.

  • ERROR_INSUFFICIENT_BUFFER

    Einer der Puffer ist zu klein.

  • ERROR_INVALID_PARAMETER
    • ulUserMaxChars oder ulDomainMaxChars ist null.
    • pszUserName, pszUseroder pszDomain ist NULL.

Bemerkungen

Diese Funktion analysiert die vom CredUIPromptForCredentials und CredUICmdLinePromptForCredentials Funktionen zurückgegebenen Benutzernamen, sodass die resultierenden Anmeldeinformationen an Funktionen wie LogonUser-übergeben werden können, die den Benutzernamen und die Domäne als separate Zeichenfolgen erfordern.

Die folgenden Formate werden unterstützt:

  • <MarshalledCredentialReference->

    Marshaled credential reference as defined by CredIsMarshaledCredential. Eine solche Anmeldeinformation wird im parameter User zurückgegeben. Der parameter Domain wird auf eine leere Zeichenfolge festgelegt.

  • <DomainName>\<UserName>

    <UserName-> wird im Parameter User zurückgegeben, und der <DomainName-> wird zurückgegeben, ist der parameter Domain. Der Name wird als Syntax betrachtet, wenn der UserName- einen umgekehrten Schrägstrich (\) enthält.

  • <UserName>@<DNSDomainName>

    Die gesamte Zeichenfolge wird im parameter User zurückgegeben. Der parameter Domain wird auf eine leere Zeichenfolge festgelegt. Für diese Syntax wird das letzte @in der Zeichenfolge verwendet, da <UserName-> ein @ enthalten kann, aber <DNSDomainName> nicht.

Anmerkung

Der wincred.h-Header definiert CredUIParseUserName als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2003 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- wincred.h
Library Credui.lib
DLL- Credui.dll

Siehe auch

CredIsMarshaledCredential

CredUICmdLinePromptForCredentials-

CredUIPromptForCredentials

LogonUser-