SecLookupAccountSid-Funktion (ntifs.h)
SecLookupAccountSid akzeptiert einen Sicherheitsbezeichner (SID) als Eingabe. Es ruft den Namen des Kontos für diese SID und den Namen der ersten Domäne ab, in der diese SID gefunden wird.
Syntax
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountSid(
[in] PSID Sid,
[out] PULONG NameSize,
[in, out] PUNICODE_STRING NameBuffer,
[out] PULONG DomainSize,
[out, optional] PUNICODE_STRING DomainBuffer,
[out] PSID_NAME_USE NameUse
);
Parameter
[in] Sid
Ein Zeiger auf die SID, um nachzuschlagen.
[out] NameSize
Ein Zeiger auf eine Variable, die die Größe des NameBuffer angibt. Bei der Eingabe gibt dieser Wert die Größe des Eingabenamenbuffers in Bytes an. Wenn die Funktion fehlschlägt, weil der Puffer zu klein ist, empfängt diese Variable die erforderliche Puffergröße. Bei Erfolg enthält diese Variable die Größe des zurückgegebenen NameBuffer.
[in, out] NameBuffer
Ein Zeiger auf einen Puffer, der den Namen des Kontos empfängt, das dem Sid zugeordnet ist. Wenn dieser Parameter NULL ist, ist NameSize 0.
[out] DomainSize
Ein Zeiger auf eine ULONG, der die Größe des DomainBuffer-Parameters angibt. Wenn die Funktion fehlschlägt, weil der Puffer zu klein ist, empfängt diese Variable die erforderliche Puffergröße. Wenn der DomainBuffer-ParameterNULL ist, wird dieser Parameter auf Null festgelegt.
[out, optional] DomainBuffer
Ein Zeiger auf einen Puffer, der den Namen der ersten Domäne empfängt, in der diese SID gefunden wird.
[out] NameUse
Ein Zeiger auf einen SID_NAME_USE aufgezählten Typ, der den Typ des Kontos empfängt.
Rückgabewert
SecLookupAccountSid gibt STATUS_SUCCESS bei Erfolg oder einen der folgenden Fehlercodes bei 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 NameBuffer oder ReferencedDomain war zu klein. |
STATUS_INVALID_PARAMETER | Die Länge des Parameters Name überschreitet die in einer Nachricht an die lokale Systemautorität (Local System Authority, LSA) zulässige Länge. |
STATUS_NO_MEMORY | Es war nicht möglich, genügend Arbeitsspeicher für einen temporären internen Puffer zuzuweisen, der von dieser Funktion verwendet wird. |
STATUS_NONE_MAPPED | Der Sid-Parameter konnte nicht gefunden werden. |
STATUS_PROCESS_IS_TERMINATING | Dieser Prozess wurde beendet, sodass es nicht möglich ist, eine lokale Prozeduraufrufverbindung (Local Procedure Call, LPC) herzustellen. |
Hinweise
SecLookupAccountSid versucht, einen Namen für die angegebene SID zu finden, indem zuerst eine Liste bekannter SIDs überprüft wird. Wenn die angegebene SID nicht einer 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. Sicherheitsbezeichner, die von der primären Domäne nicht erkannt werden, werden anhand der vertrauenswürdigen Domänen überprüft, die ihren SID-Präfixen entsprechen.
Wenn die Funktion keinen Kontonamen für die SID finden kann, schlägt SecLookupAccountSid fehl. Dies kann auftreten, wenn ein Netzwerktimeout verhindert, dass die Funktion den Namen findet. Es tritt auch für SIDs auf, die keinen entsprechenden Kontonamen haben, z. B. eine Anmelde-SID, die eine Anmeldesitzung identifiziert.
Neben der Suche nach SIDs für lokale Konten, lokale Domänenkonten und explizit vertrauenswürdige Domänenkonten kann SecLookupAccountSid SIDs für jedes Konto in jeder Domäne in der Gesamtstruktur suchen, einschließlich SIDs, die nur im SIDhistory-Feld eines Kontos in der Gesamtstruktur angezeigt werden. Im Feld SIDhistory werden frühere SIDs eines Kontos gespeichert, das aus einer anderen Domäne verschoben wurde. Um eine SID zu suchen, fragt SecLookupAccountSid den globalen Katalog der Gesamtstruktur ab.
SecLookupAccountSid entspricht der Win32 LookupAccountSid-Funktion .
SecLookupAccountSid 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. SecLookupAccountSid 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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für