Freigeben über


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
STATUS_ACCESS_DENIED
Der Aufrufer hatte nicht den erforderlichen Zugriff. Dies ist ein Fehlercode.
STATUS_BUFFER_TOO_SMALL
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

Weitere Informationen

FILE_STREAM_INFORMATION

SECURITY_DESCRIPTOR

SECURITY_INFORMATION