NtSetSecurityObject-Funktion (ntifs.h)
Die NtSetSecurityObject-Routine legt den Sicherheitsstatus eines Objekts fest.
Syntax
__kernel_entry NTSYSCALLAPI NTSTATUS NtSetSecurityObject(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR SecurityDescriptor
);
Parameter
[in] Handle
Handle für das Objekt, dessen Sicherheitsstatus festgelegt werden soll. Dieses Handle muss über den Zugriff verfügen, der in der Spalte Bedeutung der Tabelle in der Beschreibung des SecurityInformation-Parameters angegeben ist.
[in] SecurityInformation
SECURITY_INFORMATION Wert, der die Informationen angibt, die als Kombination aus mindestens einer der folgenden Optionen festgelegt werden sollen.
Wert | Bedeutung |
---|---|
OWNER_SECURITY_INFORMATION | Gibt an, dass der Besitzerbezeichner des Objekts festgelegt werden soll. Erfordert WRITE_OWNER Zugriff. |
GROUP_SECURITY_INFORMATION | Gibt an, dass der primäre Gruppenbezeichner des Objekts festgelegt werden soll. Erfordert WRITE_OWNER Zugriff. |
SACL_SECURITY_INFORMATION | Gibt an, dass die System-ACL (SACL) des Objekts festgelegt werden soll. Erfordert ACCESS_SYSTEM_SECURITY Zugriff. |
DACL_SECURITY_INFORMATION | Gibt an, dass die diskretionäre Zugriffssteuerungsliste (DACL) des Objekts festgelegt werden soll. Erfordert WRITE_DAC Zugriff. |
[in] SecurityDescriptor
Zeiger auf die Sicherheitsbeschreibung, die für das Objekt festgelegt werden soll.
Rückgabewert
NtSetSecurityObject gibt STATUS_SUCCESS oder einen entsprechenden Fehler status zurück. Mögliche Fehler status Codes sind:
Rückgabecode | Beschreibung |
---|---|
STATUS_ACCESS_DENIED | Der Aufrufer hatte nicht den erforderlichen Zugriff. |
STATUS_ACCESS_VIOLATION | SecurityDescriptor war ein NULL-Zeiger . |
STATUS_INSUFFICIENT_RESOURCES | Die Sicherheitsbeschreibung des Objekts konnte nicht erfasst werden. |
STATUS_INVALID_ACL | Die Sicherheitsbeschreibung des Objekts enthielt eine ungültige ACL. |
STATUS_INVALID_HANDLE | Handle ist kein gültiges Handle. |
STATUS_INVALID_SECURITY_DESCR | SecurityDescriptor hat nicht auf eine gültige Sicherheitsbeschreibung hingewiesen. |
STATUS_INVALID_SID | Die Sicherheitsbeschreibung des Objekts enthielt eine ungültige SID. |
STATUS_OBJECT_TYPE_MISMATCH | Handle ist kein Handle des erwarteten Typs. |
STATUS_UNKNOWN_REVISION | Die Revisionsebene des Sicherheitsdeskriptors des Objekts war unbekannt oder nicht unterstützt. |
Hinweise
Eine Sicherheitsbeschreibung kann in absoluter oder selbstrelativer Form vorliegen. In selbstrelativer Form befinden sich alle Elemente der Struktur zusammenhängend im Arbeitsspeicher. In absoluter Form enthält die Struktur nur Zeiger auf die Member. Weitere Informationen finden Sie unter Absolute und Self-Relative Sicherheitsbeschreibungen.
Weitere Informationen zur Sicherheit und Zugriffssteuerung finden Sie unter Windows-Sicherheitsmodell für Treiberentwickler und in der Dokumentation zu diesen Themen im Windows SDK.
Minifilter sollten FltSetSecurityObject anstelle von NtSetSecurityObject verwenden.
Aufrufer von NtSetSecurityObject müssen unter IRQL = PASSIVE_LEVEL und mit aktivierten speziellen Kernel-APCs ausgeführt werden.
Hinweis
Wenn der Aufruf der NtSetSecurityObject-Funktion im Benutzermodus erfolgt, sollten Sie den Namen "NtSetSecurityObject" anstelle von "ZwSetSecurityObject" verwenden.
Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, da sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP |
Zielplattform | Universell |
Header | ntifs.h (include Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (siehe Abschnitt Hinweise) |
DDI-Complianceregeln | HwStorPortProhibitedDIs, PowerIrpDDis |
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