Freigeben über


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 Zeichen (UNLEN + 1) enthält den Benutzernamen der maximalen Länge, einschließlich des endenden Nullzeichens. UNLEN ist in Lmcons.h definiert.

[in, out] pcbBuffer

Bei Eingaben gibt diese Variable die Größe des lpBuffer- Puffers in TCHARs-an. Bei der Ausgabe empfängt die Variable die Anzahl der TCHARs, die in den Puffer kopiert, einschließlich des endenden Nullzeichens.

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 endenden Nullzeichens.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich Null, und die Variable, auf die durch lpnSize verweist, enthält die Anzahl der TCHARs, die in den durch lpBufferangegebenen Puffer kopiert, einschließlich des endenden Nullzeichens.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Wenn der aktuelle Thread die Identität eines anderen Clients angibt, gibt die GetUserName-Funktion den Benutzernamen des Clients zurück, den der Thread als Identitätswechsel angibt.

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 Windows-Version 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.

Anmerkung

Der winbase.h-Header definiert GetUserName als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winbase.h (enthalten Windows.h)
Library Advapi32.lib
DLL- Advapi32.dll

Siehe auch

GetUserNameEx-

LookupAccountName-

Systeminformationsfunktionen