LookupAccountNameW-Funktion (winbase.h)
Die funktion LookupAccountName akzeptiert den Namen eines Systems und eines Kontos als Eingabe. Es ruft einen Sicherheitsbezeichner (SID) für das Konto und den Namen der Domäne ab, in der das Konto gefunden wurde.
Die LsaLookupNames- funktion kann auch Computerkonten abrufen.
Syntax
BOOL LookupAccountNameW(
[in, optional] LPCWSTR lpSystemName,
[in] LPCWSTR lpAccountName,
[out, optional] PSID Sid,
[in, out] LPDWORD cbSid,
[out, optional] LPWSTR ReferencedDomainName,
[in, out] LPDWORD cchReferencedDomainName,
[out] PSID_NAME_USE peUse
);
Parameter
[in, optional] lpSystemName
Ein Zeiger auf eine null-terminated character string that specifies the name of the system. Diese Zeichenfolge kann der Name eines Remotecomputers sein. Wenn diese Zeichenfolge NULL-ist, beginnt die Übersetzung des Kontonamens im lokalen System. Wenn der Name im lokalen System nicht aufgelöst werden kann, versucht diese Funktion, den Namen mithilfe von Domänencontrollern aufzulösen, die vom lokalen System vertrauenswürdig sind. Geben Sie im Allgemeinen einen Wert für lpSystemName nur an, wenn sich das Konto in einer nicht vertrauenswürdigen Domäne befindet und der Name eines Computers in dieser Domäne bekannt ist.
[in] lpAccountName
Ein Zeiger auf eine NULL--terminated-Zeichenfolge, die den Kontonamen angibt.
Verwenden Sie eine vollqualifizierte Zeichenfolge im Format domain_name\user_name, um sicherzustellen, dass LookupAccountName das Konto in der gewünschten Domäne findet.
[out, optional] Sid
Ein Zeiger auf einen Puffer, der die SID- Struktur empfängt, die dem Kontonamen entspricht, auf den der lpAccountName-Parameter verweist. Wenn dieser Parameter NULL-ist, muss cbSid null sein.
[in, out] cbSid
Ein Zeiger auf eine Variable. Bei der Eingabe gibt dieser Wert die Größe des Sid- Puffers in Byte an. Wenn die Funktion fehlschlägt, da der Puffer zu klein ist oder cbSid null ist, empfängt diese Variable die erforderliche Puffergröße.
[out, optional] ReferencedDomainName
Ein Zeiger auf einen Puffer, der den Namen der Domäne empfängt, in der der Kontoname gefunden wird. Für Computer, die keiner Domäne beigetreten sind, empfängt dieser Puffer den Computernamen. Wenn dieser Parameter NULL-ist, gibt die Funktion die erforderliche Puffergröße zurück.
[in, out] cchReferencedDomainName
Ein Zeiger auf eine Variable. Bei eingaben gibt dieser Wert die Größe des ReferencedDomainName- Puffers in TCHAR-s an. Wenn die Funktion fehlschlägt, da der Puffer zu klein ist, empfängt diese Variable die erforderliche Puffergröße, einschließlich des endenden NULL- Zeichens. Wenn der parameter ReferencedDomainNameNULList, muss dieser Parameter null sein.
[out] peUse
Ein Zeiger auf einen SID_NAME_USE Aufzählungstyp, der den Typ des Kontos angibt, wenn die Funktion zurückgegeben wird.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion "nonzero" zurück.
Wenn die Funktion fehlschlägt, wird null zurückgegeben. Rufen Sie für erweiterte Fehlerinformationen GetLastError-auf.
Bemerkungen
Die LookupAccountName Funktion versucht, eine SID für den angegebenen Namen zu finden, indem zuerst eine Liste bekannter SIDs überprüft wird. Wenn der Name keiner bekannten SID entspricht, überprüft die Funktion integrierte und administrativ definierte lokale Konten. Als Nächstes überprüft die Funktion die primäre Domäne. Wenn der Name dort nicht gefunden wird, werden vertrauenswürdige Domänen überprüft.
Verwenden Sie vollqualifizierte Kontonamen (z. B. domain_name\user_name) anstelle von isolierten Namen (z. B. user_name). Vollqualifizierte Namen sind eindeutig und bieten eine bessere Leistung, wenn die Suche durchgeführt wird. Diese Funktion unterstützt auch vollqualifizierte DNS-Namen (z. B. example.example.com\user_name) und Benutzerprinzipalnamen (UPN) (z. B. someone@example.com).
Neben dem Nachschlagen lokaler Konten, lokaler Domänenkonten und explizit vertrauenswürdiger Domänenkonten kann LookupAccountName- den Namen für jedes Konto in einer beliebigen Domäne in der Gesamtstruktur nachschlagen.
Anmerkung
Der winbase.h-Header definiert LookupAccountName 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 XP [Desktop-Apps | UWP-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform- | Fenster |
Header- | winbase.h (enthalten Windows.h) |
Library | Advapi32.lib |
DLL- | Advapi32.dll |
Siehe auch
Übersicht über die Zugriffssteuerung