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 in der Spalte "Bedeutung" der Tabelle angegebenen Zugriff verfügen, der in der Beschreibung des parameters SecurityInformation angezeigt wird.
[in] SecurityInformation
SECURITY_INFORMATION Wert, der die festzulegenden Informationen als Kombination aus einer oder mehreren der folgenden Werte angibt.
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 den Sicherheitsdeskriptor, der für das Objekt festgelegt werden soll.
Rückgabewert
NtSetSecurityObject gibt STATUS_SUCCESS oder einen entsprechenden Fehlerstatus zurück. Mögliche Fehlerstatuscodes sind:
Rückgabecode | Beschreibung |
---|---|
STATUS_ACCESS_DENIED | Der Anrufer hat nicht über den erforderlichen Zugriff verfügt. |
STATUS_ACCESS_VIOLATION | SecurityDescriptor war ein NULL- Zeiger. |
STATUS_INSUFFICIENT_RESOURCES | Der Sicherheitsdeskriptor des Objekts konnte nicht erfasst werden. |
STATUS_INVALID_ACL | Der Sicherheitsdeskriptor des Objekts enthielt eine ungültige ACL. |
STATUS_INVALID_HANDLE | Handle ist kein gültiger Handle. |
STATUS_INVALID_SECURITY_DESCR | SecurityDescriptor nicht auf einen gültigen Sicherheitsdeskriptor verweisen. |
STATUS_INVALID_SID | Der Sicherheitsdeskriptor 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 wurde unbekannt oder nicht unterstützt. |
Bemerkungen
Ein Sicherheitsdeskriptor kann in absoluter oder selbstrelativer Form sein. In selbstrelativer Form befinden sich alle Elemente der Struktur zusammenhängend im Speicher. In absoluter Form enthält die Struktur nur Zeiger auf die Member. Weitere Informationen finden Sie unter Absolute und Self-Relative Sicherheitsdeskriptoren.
Weitere Informationen zur Sicherheits- und Zugriffssteuerung finden Sie unter Windows-Sicherheitsmodell für Treiberentwickler und die 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 speziellen Kernel-APCs ausgeführt werden, dieaktiviert sind.
Anmerkung
Wenn der Aufruf der NtSetSecurityObject--Funktion im Benutzermodus auftritt, 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, wie sie Eingabeparameter behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den NtXxx und ZwXxx- Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP |
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |
DDI-Complianceregeln | HwStorPortProhibitedDIs, PowerIrpDDis |
Siehe auch
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen