GetUserNameA-Funktion (winbase.h)
Ruft den Namen des Benutzers ab, der dem aktuellen Thread zugeordnet ist.
Verwenden Sie die GetUserNameEx-Funktion , um den Benutzernamen in einem angegebenen Format abzurufen. Zusätzliche Informationen werden von der IADsADSystemInfo-Schnittstelle bereitgestellt.
Syntax
BOOL GetUserNameA(
[out] LPSTR lpBuffer,
[in, out] LPDWORD pcbBuffer
);
Parameter
[out] lpBuffer
Ein Zeiger auf den Puffer, um den Anmeldenamen des Benutzers zu erhalten. Wenn dieser Puffer nicht groß genug ist, um den gesamten Benutzernamen zu enthalten, schlägt die Funktion fehl. Eine Puffergröße von (UNLEN + 1) Zeichen enthält die maximale Länge des Benutzernamens, einschließlich des abschließenden NULL-Zeichens. UNLEN ist in Lmcons.h definiert.
[in, out] pcbBuffer
Bei der Eingabe gibt diese Variable die Größe des lpBuffer-Puffers in TCHARs an. Bei der Ausgabe empfängt die Variable die Anzahl der in den Puffer kopierten TCHARs , einschließlich des abschließenden NULL-Zeichens.
Wenn lpBuffer zu klein ist, schlägt die Funktion fehl, und GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück. Dieser Parameter empfängt die erforderliche Puffergröße, einschließlich des abschließenden NULL-Zeichens.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich null, und die Variable, auf die von lpnSize verwiesen wird, enthält die Anzahl der TCHARs , die in den von lpBuffer angegebenen Puffer kopiert wurden, einschließlich des abschließenden NULL-Zeichens.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn der aktuelle Thread die Identität eines anderen Clients angibt, gibt die GetUserName-Funktion den Benutzernamen des Clients zurück, den der Thread imitiert.
Wenn GetUserName von einem Prozess aufgerufen wird, der unter dem Konto "NETWORK SERVICE" ausgeführt wird, kann die in lpBuffer zurückgegebene Zeichenfolge je nach Version von Windows unterschiedlich sein. Unter Windows XP wird die Zeichenfolge "NETWORK SERVICE" zurückgegeben. Unter Windows Vista wird die Zeichenfolge "<HOSTNAME>$" zurückgegeben.
Beispiele
Ein Beispiel finden Sie unter Abrufen von Systeminformationen.
Hinweis
Der winbase.h-Header definiert GetUserName 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 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (Windows.h einschließen) |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |