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

Zeiger auf eine NULL-endende Zeichenfolge, die den zu analysierenden Benutzernamen enthält. Der Name muss im UPN- oder down-Level-Format oder als Zertifikat vorliegen. In der Regel wird pszUserName von CredUIPromptForCredentials oder CredUICmdLinePromptForCredentials empfangen.

[out] user

Zeiger auf eine NULL-endende Zeichenfolge, die den Benutzernamen empfängt.

[in] userBufferSize

Maximale Anzahl von Zeichen, die in die pszUser-Zeichenfolge geschrieben werden sollen, einschließlich des abschließenden NULL-Zeichens .

Hinweis CREDUI_MAX_USERNAME_LENGTH enthält NICHT das abschließende NULL-Zeichen .
 

[out] domain

Zeiger auf eine NULL-endende Zeichenfolge, die den Domänennamen empfängt. Wenn pszUserName ein Zertifikat angibt, ist pszDomainNULL.

[in] domainBufferSize

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

Hinweis CREDUI_MAX_DOMAIN_TARGET_LENGTH enthält NICHT das beendende NULL-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, pszUser oder pszDomain ist NULL.

Hinweise

Diese Funktion analysiert die Benutzernameninformationen, die von den Funktionen CredUIPromptForCredentials und CredUICmdLinePromptForCredentials zurückgegeben werden, sodass die resultierenden Anmeldeinformationen an Funktionen wie LogonUser übergeben werden können, die den Benutzernamen und die Domäne als separate Zeichenfolgen benötigen.

Die folgenden Formate werden unterstützt:

  • <MarshalledCredentialReference>

    Gemarshallte Anmeldeinformationen, wie von CredIsMarshaledCredential definiert. Solche Anmeldeinformationen werden im Parameter User zurückgegeben. Der Parameter Domain ist auf eine leere Zeichenfolge festgelegt.

  • <Domänenname>\<Benutzername>

    <UserName> wird im Parameter User zurückgegeben, und der <Zurückgegebene DomainName> ist der Domain-Parameter . Es wird davon ausgegangen, dass der Name diese Syntax hat, wenn der Benutzername einen umgekehrten Schrägstrich (\) enthält.

  • <UserName>@<DNSDomainName>

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

Hinweis

Der wincred.h-Header definiert CredUIParseUserName als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincred.h
Bibliothek Credui.lib
DLL Credui.dll

Weitere Informationen

CredIsMarshaledCredential

CredUICmdLinePromptForCredentials

CredUIPromptForCredentials

LogonUser