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 .
[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 .
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 |