FltSetSecurityObject-Funktion (fltkernel.h)
FltSetSecurityObject legt den Sicherheitsstatus eines Objekts fest.
Syntax
NTSTATUS FLTAPI FltSetSecurityObject(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR SecurityDescriptor
);
Parameter
[in] Instance
Undurchsichtiger Instanzzeiger für den Aufrufer. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
[in] FileObject
Dateiobjektzeiger für das Objekt, dessen Sicherheitsstatus festgelegt werden soll. Der Aufrufer muss über den in der Spalte "Bedeutung" der Tabelle angegebenen Zugriff verfügen, der in der Beschreibung des SecurityInformation-Parameters angezeigt wird. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
[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. |
DACL_SECURITY_INFORMATION | Gibt an, dass die diskretionäre Zugriffssteuerungsliste (DACL) des Objekts festgelegt werden soll. Erfordert WRITE_DAC 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 den Sicherheitsdeskriptor, der für das Objekt festgelegt werden soll.
Rückgabewert
FltSetSecurityObject gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
STATUS_ACCESS_DENIED | Der Anrufer hat nicht über den erforderlichen Zugriff verfügt. Dies ist ein Fehlercode. |
STATUS_ACCESS_VIOLATION | SecurityDescriptor war ein NULL- Zeiger. Dies ist ein Fehlercode. |
STATUS_INSUFFICIENT_RESOURCES | Der Sicherheitsdeskriptor des Objekts konnte nicht erfasst werden. Dies ist ein Fehlercode. |
STATUS_INVALID_ACL | Der Sicherheitsdeskriptor des Objekts enthielt eine ungültige ACL. Dies ist ein Fehlercode. |
STATUS_INVALID_SECURITY_DESCR | SecurityDescriptor nicht auf einen gültigen Sicherheitsdeskriptor verweisen. Dies ist ein Fehlercode. |
STATUS_INVALID_SID | Der Sicherheitsdeskriptor des Objekts enthielt eine ungültige SID. Dies ist ein Fehlercode. |
STATUS_UNKNOWN_REVISION | Die Revisionsebene des Sicherheitsdeskriptors des Objekts wurde unbekannt oder nicht unterstützt. Dies ist ein Fehlercode. |
STATUS_NOT_IMPLEMENTED | Die FltSetSecurityObject Routine ist vorhanden, wird jedoch in der Betriebssystemumgebung, in der sie aufgerufen wurde, nicht unterstützt. |
Bemerkungen
Die FltSetSecurityObject Routine ist vorhanden und wird ab Windows Vista unterstützt. In Windows 2000, Windows XP und Server 2003 SP1 ist die Routine vorhanden, aber nicht unterstützt und gibt STATUS_NOT_IMPLEMENTED zurück, wenn sie in einer dieser Umgebungen aufgerufen wird.
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 in der Dokumentation zu diesen Themen im Windows SDK.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | PASSIVE_LEVEL |