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 der Eingabe gibt dieser Wert die Größe des Eingabe-Sid-Puffers in Bytes an. Wenn die Funktion fehlschlägt, weil der Puffer zu klein ist, oder wenn SidSize null ist, empfängt 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 Name-Parameter verweist. Wenn dieser Parameter NULL ist, muss SidSize null sein.

[out] NameUse

Ein Zeiger auf einen SID_NAME_USE aufgezählten Typ, der den Typ des Kontos empfängt.

[out] DomainSize

Ein Zeiger auf A ULONG, der die Größe des ReferencedDomain-Parameters empfängt . Wenn die Funktion fehlschlägt, weil der Puffer zu klein ist, empfängt diese Variable die erforderliche Puffergröße. Wenn der Eingabeparameter ReferencedDomain NULL ist, erhält dieser Parameter null.

[in_out, optional] ReferencedDomain

Zeiger auf einen Puffer für den Namen der Domäne, in der sich der Kontoname befindet. Dieser Parameter ist optional und kann NULL sein. Für Computer, die keiner Domäne angehören, empfängt dieser Puffer den Computernamen.

Rückgabewert

SecLookupAccountName gibt STATUS_SUCCESS bei Erfolg oder einen der folgenden Fehlercodes bei Einem Fehler zurück.

Rückgabecode Beschreibung
SEC_E_INTERNAL_ERROR Beim Herstellen einer Verbindung mit der lokalen Systemautorität (Local System Authority, LSA) oder beim lokalen Prozeduraufruf (Local Procedure Call, LPC) mit dem Sicherheitsanbieter ist ein interner Fehler aufgetreten.
STATUS_ACCESS_DENIED Die Dem aktuell ausgeführten Thread zugeordnete Prozess-ID stimmt nicht mit der aktuellen Prozess-ID überein.
STATUS_BUFFER_TOO_SMALL Die Puffergröße für den Parameter Sid oder ReferencedDomain war zu klein.
STATUS_INVALID_PARAMETER Die Länge des Parameters Name überschreitet die in einer Nachricht an die lokale Systemautorität zulässige Länge.
STATUS_NONE_MAPPED Der Name-Parameter konnte nicht gefunden werden.
STATUS_PROCESS_IS_TERMINATING Dieser Prozess wurde beendet, sodass es nicht möglich ist, die Lokale Prozeduraufrufverbindung (Local Procedure Call, LPC) herzustellen.

Hinweise

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 isolierter 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 der Suche nach lokalen Konten, lokalen Domänenkonten und explizit vertrauenswürdigen Domänenkonten kann SecLookupAccountName den Namen für jedes Konto in jeder Domäne in der Gesamtstruktur suchen.

SecLookupAccountName entspricht der Win32 LookupAccountName-Funktion .

SecLookupAccountName wird vom ksecdd-Treiber exportiert, der diese Funktion mithilfe von Benutzermodushilfsdiensten implementiert. Dementsprechend muss die Verwendung dieser Funktion innerhalb von Dateisystemen den üblichen Regeln für die Kommunikation mit Benutzermodusdiensten entsprechen. SecLookupAccountName kann nicht während der Auslagerungsdatei-E/A verwendet werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek Ksecdd.lib
IRQL <= APC_LEVEL

Weitere Informationen

SID

SID_NAME_USE

SecLookupAccountSid

SecLookupWellKnownSid