Freigeben über


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

Siehe auch

SID-

SID_NAME_USE

SecLookupAccountSid-

SecLookupWellKnownSid