FltQuerySecurityObject-Funktion (fltkernel.h)
FltQuerySecurityObject ruft eine Kopie des Sicherheitsdeskriptors eines Objekts ab.
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 instance Zeiger für den Aufrufer. Dieser Parameter ist erforderlich und darf nicht NULL sein.
[in] FileObject
Dateiobjektzeiger für das Objekt, dessen Sicherheitsbeschreibung abgefragt wird. Dieser Parameter ist erforderlich und darf nicht NULL sein.
[in] SecurityInformation
SECURITY_INFORMATION Wert. Dieser Parameter ist erforderlich und muss einer 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 daCL (Discretionary Access Control List) des Objekts wird abgefragt. Erfordert READ_CONTROL Zugriff. |
SACL_SECURITY_INFORMATION | Die 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 sein.
[in] Length
Größe des SecurityDescriptor-Puffers in Byte.
[out, optional] LengthNeeded
Zeiger auf eine vom Aufrufer zugeordnete Variable, die die Anzahl der Bytes empfängt, die zum Speichern des kopierten Sicherheitsdeskriptors erforderlich sind, der im Puffer zurückgegeben wird, auf den der SecurityDescriptor-Parameter verweist. Dieser Parameter ist optional und kann NULL sein.
Rückgabewert
FltQuerySecurityObject gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Der Aufrufer hatte nicht den erforderlichen Zugriff. 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. |
Hinweise
Ein Sicherheitsdeskriptor 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 ihre Member.
Das NTFS-Dateisystem erzwingt einen Grenzwert von 64 KB für die Größe des Sicherheitsdeskriptors, der für eine Datei auf den Datenträger geschrieben wird. (Das FAT-Dateisystem unterstützt keine Sicherheitsbeschreibungen 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 Sicherheit und Zugriffssteuerung finden Sie in der Microsoft Windows SDK-Dokumentation.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | fltkernel.h (fltkernel.h einschließen) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |