GetUserNameExA-Funktion (secext.h)
Ruft den Namen des Benutzers oder eines anderen Sicherheitsprinzipals ab, der dem aufrufenden Thread zugeordnet ist. Sie können das Format des zurückgegebenen Namens angeben.
Wenn der Thread die Identität eines Clients angibt, gibt GetUserNameEx den Namen des Clients zurück.
Syntax
BOOLEAN SEC_ENTRY GetUserNameExA(
[in] EXTENDED_NAME_FORMAT NameFormat,
[out] LPSTR lpNameBuffer,
[in, out] PULONG nSize
);
Parameter
[in] NameFormat
Das Format des Namens. Dieser Parameter ist ein Wert aus dem EXTENDED_NAME_FORMAT Enumerationstyp. Es darf nicht NameUnknown sein. Wenn sich das Benutzerkonto nicht in einer Domäne befindet, wird nur NameSamCompatible unterstützt.
[out] lpNameBuffer
Ein Zeiger auf einen Puffer, der den Namen im angegebenen Format empfängt. Der Puffer muss Speicherplatz für das abschließende NULL-Zeichen enthalten.
[in, out] nSize
Bei der Eingabe gibt diese Variable die Größe des lpNameBuffer-Puffers in TCHARs an. Wenn die Funktion erfolgreich ist, empfängt die Variable die Anzahl der TCHARs , die in den Puffer kopiert wurden, ohne das abschließende NULL-Zeichen.
Wenn lpNameBuffer zu klein ist, schlägt die Funktion fehl, und GetLastError gibt ERROR_MORE_DATA zurück. Dieser Parameter empfängt die erforderliche Puffergröße in Unicode-Zeichen (unabhängig davon, ob Unicode verwendet wird oder nicht), einschließlich des abschließenden NULL-Zeichens.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf. Die folgenden Werte sind möglich.
Rückgabecode | Beschreibung |
---|---|
|
Der puffer lpNameBuffer ist zu klein. Der parameter lpnSize enthält die Anzahl der Bytes, die zum Empfangen des Namens erforderlich sind. |
|
Der Domänencontroller ist nicht verfügbar, um die Suche durchzuführen. |
|
Der Benutzername ist im angegebenen Format nicht verfügbar. |
Hinweise
Hinweis
Der secext.h-Header definiert GetUserNameEx 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
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | secext.h (einschließlich Security.h) |
Bibliothek | Secur32.lib |
DLL | Secur32.dll |