Freigeben über


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 kann nicht NameUnknownwerden. 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 Leerzeichen für das endende NULL-Zeichen enthalten.

[in, out] nSize

Bei Eingaben 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, nicht einschließlich des endenden NULL-Zeichens.If the function is successful, the variable receives the number of TCHARs copied to the buffer, not including the endating null character.

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), einschließlich des endenden Nullzeichens.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich Null.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten. Mögliche Werte sind:

Rückgabecode Beschreibung
ERROR_MORE_DATA
Der lpNameBuffer Puffer ist zu klein. Der parameter lpnSize enthält die Anzahl der Bytes, die zum Empfangen des Namens erforderlich sind.
ERROR_NO_SUCH_DOMAIN
Der Domänencontroller ist nicht verfügbar, um den Nachschlagevorgang auszuführen.
ERROR_NONE_MAPPED
Der Benutzername ist im angegebenen Format nicht verfügbar.

Bemerkungen

Anmerkung

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

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- secext.h (include Security.h)
Library Secur32.lib
DLL- Secur32.dll

Siehe auch

EXTENDED_NAME_FORMAT

LookupAccountName-

Systeminformationsfunktionen