ZwQuerySecurityObject-Funktion (ntifs.h)

Die ZwQuerySecurityObject-Routine ruft eine Kopie des Sicherheitsdeskriptors eines Objekts ab.

Syntax

NTSYSAPI NTSTATUS ZwQuerySecurityObject(
  [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 Sicherheitsbeschreibung 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 einem oder mehreren 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, der ZwQuerySecurityObject mit einer Kopie des angegebenen Sicherheitsdeskriptors auffü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 zugeordnete Variable, die die Anzahl der Bytes empfängt, die zum Speichern des kopierten Sicherheitsdeskriptors erforderlich sind.

Rückgabewert

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

Rückgabecode Beschreibung
STATUS_ACCESS_DENIED Das Handle verfügte nicht über den erforderlichen Zugriff.
STATUS_BUFFER_TOO_SMALL Der Puffer ist für den Sicherheitsdeskriptor 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

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

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 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.

Minifilter sollten FltQuerySecurityObject anstelle von ZwQuerySecurityObject aufrufen.

Hinweis

Wenn der Aufruf der ZwQuerySecurityObject-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, wie 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 systemeigenen 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(storport), PowerIrpDDis(wdm)

Weitere Informationen

FltQuerySecurityObject

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

ZwSetSecurityObject