SecLookupAccountName-Funktion (ntifs.h)
SecLookupAccountName akzeptiert ein Konto als Eingabe und ruft eine Sicherheits-ID (SID) für das Konto und den Namen der Domäne ab, in der das Konto gefunden wurde.
Syntax
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountName(
[in] PUNICODE_STRING Name,
[in, out] PULONG SidSize,
[out] PSID Sid,
[out] PSID_NAME_USE NameUse,
[out] PULONG DomainSize,
[in_out, optional] PUNICODE_STRING ReferencedDomain
);
Parameter
[in] Name
Ein Zeiger auf eine Unicode-Zeichenfolge, die den Kontonamen angibt. Verwenden Sie eine vollqualifizierte Zeichenfolge im format domain_name\user_name, um sicherzustellen, dass SecLookupAccountName das Konto in der gewünschten Domäne findet.
[in, out] SidSize
Ein Zeiger auf eine Variable, die die Größe des Sid- Puffers angibt. Bei eingaben gibt dieser Wert die Größe in Byte des Eingabe-Sid Puffers an. Wenn die Funktion fehlschlägt, weil der Puffer zu klein ist oder SidSize null ist, erhält diese Variable die erforderliche Puffergröße. Bei Erfolg enthält diese Variable die Größe der zurückgegebenen Sid.
[out] Sid
Ein Zeiger auf einen Puffer, der die SID-Struktur empfängt, die dem Kontonamen entspricht, auf den der parameter Name verweist. Wenn dieser Parameter NULL-ist, muss SidSize null sein.
[out] NameUse
Ein Zeiger auf einen SID_NAME_USE Aufzählungstyp, der den Typ des Kontos empfängt.
[out] DomainSize
Ein Zeiger auf A ULONG, der die Größe des parameters ReferencedDomain empfängt. Wenn die Funktion fehlschlägt, da der Puffer zu klein ist, empfängt diese Variable die erforderliche Puffergröße. Wenn die Eingabe ReferencedDomain Parameter NULL ist, erhält dieser Parameter Null.
[in_out, optional] ReferencedDomain
Zeigen Sie auf einen Puffer für den Namen der Domäne, in der der Kontoname gefunden wird. Dieser Parameter ist optional und kann NULL sein. Für Computer, die keiner Domäne beigetreten sind, empfängt dieser Puffer den Computernamen.
Rückgabewert
SecLookupAccountName gibt STATUS_SUCCESS bei Erfolg oder einer der folgenden Fehlercodes für Fehler zurück.
Rückgabecode | Beschreibung |
---|---|
SEC_E_INTERNAL_ERROR | Beim Versuch, eine Verbindung mit der lokalen Systemautorität (Local System Authority, LSA) herzustellen, oder beim lokalen Prozeduraufruf (Local Procedure Call, LPC) mit dem Sicherheitsanbieter ist ein interner Fehler aufgetreten. |
STATUS_ACCESS_DENIED | Die prozess-ID, die dem aktuell ausgeführten Thread zugeordnet ist, stimmt nicht mit der aktuellen Prozess-ID überein. |
STATUS_BUFFER_TOO_SMALL | Die Puffergröße für die Sid- oder der parameter "ReferencedDomain" war zu klein. |
STATUS_INVALID_PARAMETER | Die Länge des Name Parameter hat die zulässige Länge in einer Nachricht an die lokale Systemautorität überschritten. |
STATUS_NONE_MAPPED | Der parameter Name konnte nicht gefunden werden. |
STATUS_PROCESS_IS_TERMINATING | Dieser Prozess wurde beendet, sodass es nicht möglich ist, die Verbindung mit dem lokalen Prozeduraufruf (Local Procedure Call, LPC) herzustellen. |
Bemerkungen
SecLookupAccountName versucht, eine SID für den angegebenen Namen zu finden. Die Funktion überprüft 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 SecLookupAccountName den Namen für jedes Konto in jeder Domäne in der Gesamtstruktur nachschlagen.
SecLookupAccountName- entspricht der Win32-LookupAccountName--Funktion.
SecLookupAccountName wird vom ksecdd-Treiber exportiert, der diese Funktion mithilfe von Hilfsdiensten für den Benutzermodus implementiert. Dementsprechend muss die Verwendung dieser Funktion innerhalb von Dateisystemen den üblichen Regeln für die Kommunikation mit Benutzermodusdiensten entsprechen. SecLookupAccountName- kann während der Auslagerungsdatei-E/A nicht verwendet werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP |
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | Ksecdd.lib |
IRQL- | <= APC_LEVEL |