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