FltQuerySecurityObject-Funktion (fltkernel.h)
FltQuerySecurityObject eine Kopie der Sicherheitsbeschreibung eines Objekts abruft.
Syntax
NTSTATUS FLTAPI FltQuerySecurityObject(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[in] SECURITY_INFORMATION SecurityInformation,
[in, out] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] ULONG Length,
[out, optional] PULONG LengthNeeded
);
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 Sicherheitsdeskriptor abgefragt wird. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
[in] SecurityInformation
SECURITY_INFORMATION Wert. Dieser Parameter ist erforderlich und muss eine der folgenden Sein:
SecurityInformation-Wert | Bedeutung |
---|---|
OWNER_SECURITY_INFORMATION | Der Besitzerbezeichner des Objekts wird abgefragt. Erfordert READ_CONTROL Zugriff. |
GROUP_SECURITY_INFORMATION | Der primäre Gruppenbezeichner des Objekts wird abgefragt. Erfordert READ_CONTROL Zugriff. |
DACL_SECURITY_INFORMATION | Die diskretionäre Zugriffssteuerungsliste (ACCESS Control List, DACL) des Objekts wird abgefragt. Erfordert READ_CONTROL Zugriff. |
SACL_SECURITY_INFORMATION | Das System-ACL (SACL) des Objekts wird abgefragt. Erfordert ACCESS_SYSTEM_SECURITY Zugriff. |
[in, out] SecurityDescriptor
Zeiger auf einen vom Aufrufer bereitgestellten Ausgabepuffer, der eine Kopie des Sicherheitsdeskriptors für das angegebene Objekt empfängt. Die SECURITY_DESCRIPTOR Struktur wird im selbstrelativen Format zurückgegeben. Dieser Parameter ist optional und kann NULL-werden.
[in] Length
Größe des SecurityDescriptor- Puffers in Byte.
[out, optional] LengthNeeded
Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Anzahl der Bytes empfängt, die erforderlich sind, um den kopierten Sicherheitsdeskriptor zu speichern, der im Puffer zurückgegeben wird, auf den der SecurityDescriptor-Parameter verweist. Dieser Parameter ist optional und kann NULL-werden.
Rückgabewert
FltQuerySecurityObject gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS- Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Der Anrufer hat nicht über den erforderlichen Zugriff verfügt. Dies ist ein Fehlercode. |
|
Der Puffer ist zu klein, um den Sicherheitsdeskriptor zu enthalten. Keine der Sicherheitsinformationen wurde in den Puffer kopiert. Dies ist ein Fehlercode. |
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 seine Member.
Das NTFS-Dateisystem legt eine Beschränkung von 64 KB auf die Größe des Sicherheitsdeskriptors fest, der für eine Datei auf den Datenträger geschrieben wird. (Das FAT-Dateisystem unterstützt keine Sicherheitsdeskriptoren für Dateien.) Daher ist ein 64-KB-Puffer, auf den der SecurityDescriptor Parameter verweist, garantiert groß genug, um die zurückgegebene SECURITY_DESCRIPTOR Struktur zu enthalten.
Das Objekt, auf das der FileObject Parameter verweist, kann einen benannten Datenstrom darstellen. Weitere Informationen zu benannten Datenströmen finden Sie unter FILE_STREAM_INFORMATION.
Weitere Informationen zur Sicherheits- und Zugriffssteuerung finden Sie in der Microsoft Windows SDK-Dokumentation.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | PASSIVE_LEVEL |