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

Weitere Informationen

GetUserNameEx

LookupAccountName

Systeminformationsfunktionen