Freigeben über


ZwSetSecurityObject-Funktion (ntifs.h)

Die ZwSetSecurityObject-Routine legt den Sicherheitsstatus eines Objekts fest.

Syntax

NTSYSAPI NTSTATUS ZwSetSecurityObject(
  [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

Ein SECURITY_INFORMATIONWert, der die festzulegenden Informationen angibt. Kann eine Kombination aus mindestens einem der folgenden Werte sein.

Wert Bedeutung
DACL_SECURITY_INFORMATION Gibt an, dass die diskretionäre Zugriffssteuerungsliste (DACL) des Objekts festgelegt werden soll. Erfordert WRITE_DAC Zugriff.
GROUP_SECURITY_INFORMATION Gibt an, dass der primäre Gruppenbezeichner des Objekts festgelegt werden soll. Erfordert WRITE_OWNER Zugriff.
OWNER_SECURITY_INFORMATION Gibt an, dass der Besitzerbezeichner 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.

[in] SecurityDescriptor

Zeiger auf die Sicherheitsbeschreibung, die für das Objekt festgelegt werden soll.

Rückgabewert

ZwSetSecurityObject gibt STATUS_SUCCESS oder einen entsprechenden Fehler status zurück. Mögliche Fehler status Codes sind:

Rückgabecode Beschreibung
STATUS_ACCESS_DENIED Handle verfügt nicht über die erforderlichen Zugriffsrechte.
STATUS_ACCESS_VIOLATION SecurityDescriptor ist ein NULL-Zeiger .
STATUS_INSUFFICIENT_RESOURCES Die Sicherheitsbeschreibung des Objekts konnte nicht erfasst werden.
STATUS_INVALID_ACL Die Sicherheitsbeschreibung des Objekts enthält eine ungültige ACL.
STATUS_INVALID_HANDLE Handle ist kein gültiges Handle.
STATUS_INVALID_SECURITY_DESCR SecurityDescriptor verweist nicht auf eine gültige Sicherheitsbeschreibung.
STATUS_INVALID_SID Die Sicherheitsbeschreibung des Objekts enthält eine ungültige SID.
STATUS_OBJECT_TYPE_MISMATCH Handle ist kein Handle des erwarteten Typs.
STATUS_UNKNOWN_REVISION Die Revisionsebene der Sicherheitsbeschreibung des Objekts ist unbekannt oder wird 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" im Abschnitt Sicherheit der Windows SDK-Dokumentation.

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 ZwSetSecurityObject verwenden.

Aufrufer von ZwSetSecurityObject müssen unter IRQL = PASSIVE_LEVEL und mit aktivierten speziellen Kernel-APCs ausgeführt werden.

Hinweis

Wenn der Aufruf der ZwSetSecurityObject-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 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Weitere Informationen

FltSetSecurityObject

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen

ZwQuerySecurityObject