Freigeben über


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
STATUS_ACCESS_DENIED
Der Anrufer hat nicht über den erforderlichen Zugriff verfügt. 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.

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

Siehe auch

FILE_STREAM_INFORMATION

SECURITY_DESCRIPTOR

SECURITY_INFORMATION