NtQuerySecurityObject-Funktion (ntifs.h)

Die NtQuerySecurityObject-Routine ruft eine Kopie der Sicherheitsbeschreibung eines Objekts ab.

Syntax

__kernel_entry NTSYSCALLAPI NTSTATUS NtQuerySecurityObject(
  [in]  HANDLE               Handle,
  [in]  SECURITY_INFORMATION SecurityInformation,
  [out] PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]  ULONG                Length,
  [out] PULONG               LengthNeeded
);

Parameter

[in] Handle

Handle für das Objekt, dessen Sicherheitsdeskriptor abgefragt werden soll. Dieses Handle muss über den Zugriff verfügen, der in der Spalte Bedeutung der Tabelle in der Beschreibung des SecurityInformation-Parameters angegeben ist.

[in] SecurityInformation

Ein SECURITY_INFORMATION Wert, der die abzufragten Informationen als Kombination aus mindestens einer der folgenden Werte angibt.

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.
SACL_SECURITY_INFORMATION Die System-ACL (SACL) des Objekts wird abgefragt. Erfordert ACCESS_SYSTEM_SECURITY Zugriff.
DACL_SECURITY_INFORMATION Die daCL (Discretionary Access Control List) des Objekts wird abgefragt. Erfordert READ_CONTROL Zugriff.

[out] SecurityDescriptor

Vom Aufrufer zugewiesener Puffer, den NtQuerySecurityObject mit einer Kopie des angegebenen Sicherheitsdeskriptors füllt. Die SECURITY_DESCRIPTOR Struktur wird im selbstrelativen Format zurückgegeben.

[in] Length

Größe des Puffers, auf den SecurityDescriptor verweist, in Bytes.

[out] LengthNeeded

Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Anzahl von Bytes empfängt, die zum Speichern der kopierten Sicherheitsbeschreibung erforderlich sind.

Rückgabewert

NtQuerySecurityObject gibt STATUS_SUCCESS oder einen entsprechenden Fehler status zurück. Mögliche Fehler status Codes sind:

Rückgabecode Beschreibung
STATUS_ACCESS_DENIED Das Handle verfügte nicht über den erforderlichen Zugriff.
STATUS_BUFFER_TOO_SMALL Der Puffer ist für die Sicherheitsbeschreibung zu klein. Keine der Sicherheitsinformationen wurde in den Puffer kopiert.
STATUS_INVALID_HANDLE Handle war kein gültiges Handle.
STATUS_OBJECT_TYPE_MISMATCH Handle war kein Handle des erwarteten Typs.

Hinweise

Minifilter sollten FltQuerySecurityObject aufrufen.

Eine Sicherheitsbeschreibung 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 die Member. Weitere Informationen finden Sie unter Absolute und Self-Relative Sicherheitsbeschreibungen.

Das NTFS-Dateisystem legt einen Grenzwert von 64 KB für die Größe des Sicherheitsdeskriptors fest, der für eine Datei auf den Datenträger geschrieben wird. (Das FAT-Dateisystem unterstützt keine Sicherheitsbeschreibungen für Dateien.) Daher ist ein 64K SecurityDescriptor-Puffer garantiert groß genug, um die zurückgegebene SECURITY_DESCRIPTOR Struktur zu halten.

Weitere Informationen zur Sicherheit und Zugriffssteuerung finden Sie unter Windows-Sicherheitsmodell für Treiberentwickler und in der Dokumentation zu diesen Themen im Windows SDK.

Hinweis

Wenn der Aufruf der NtQuerySecurityObject-Funktion im Benutzermodus erfolgt, sollten Sie den Namen "NtQuerySecurityObject" anstelle von "ZwQuerySecurityObject" verwenden.

Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, da sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs, PowerIrpDDis

Weitere Informationen

FltQuerySecurityObject

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

NtSetSecurityObject