ZwQuerySecurityObject-Funktion (ntifs.h)
Die ZwQuerySecurityObject Routine ruft eine Kopie der Sicherheitsbeschreibung 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 Sicherheitsdeskriptor abgefragt werden soll. Dieses Handle muss über den in der Spalte "Bedeutung" der Tabelle angegebenen Zugriff verfügen, der in der Beschreibung des parameters SecurityInformation angezeigt wird.
[in] SecurityInformation
Ein SECURITY_INFORMATION Wert, der die informationen angibt, die als Kombination aus einer oder mehreren der folgenden Informationen abgefragt werden sollen.
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 | Das System-ACL (SACL) des Objekts wird abgefragt. Erfordert ACCESS_SYSTEM_SECURITY Zugriff. |
DACL_SECURITY_INFORMATION | Die diskretionäre Zugriffssteuerungsliste (ACCESS Control List, DACL) des Objekts wird abgefragt. Erfordert READ_CONTROL Zugriff. |
[out] SecurityDescriptor
Vom Aufrufer zugewiesener Puffer, der ZwQuerySecurityObject mit einer Kopie des angegebenen Sicherheitsdeskriptors gefüllt wird. Die SECURITY_DESCRIPTOR Struktur wird im selbstrelativen Format zurückgegeben.
[in] Length
Größe des Puffers in Bytes, auf den SecurityDescriptorverweist.
[out] LengthNeeded
Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Anzahl der Bytes empfängt, die zum Speichern der kopierten Sicherheitsbeschreibung erforderlich sind.
Rückgabewert
ZwQuerySecurityObject gibt STATUS_SUCCESS oder einen entsprechenden Fehlerstatus zurück. Mögliche Fehlerstatuscodes sind:
Rückgabecode | Beschreibung |
---|---|
STATUS_ACCESS_DENIED | Handle nicht über den erforderlichen Zugriff verfügt. |
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ültiger Handle. |
STATUS_OBJECT_TYPE_MISMATCH | Handle war kein Handle des erwarteten Typs. |
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 die Member. Weitere Informationen finden Sie unter Absolute und Self-Relative Sicherheitsdeskriptoren.
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 64K-SecurityDescriptor Puffer garantiert groß genug, um die zurückgegebene SECURITY_DESCRIPTOR Struktur zu halten.
Weitere Informationen zur Sicherheits- und Zugriffssteuerung finden Sie unter Windows-Sicherheitsmodell für Treiberentwickler und die Dokumentation zu diesen Themen im Windows SDK.
Minifilter sollten FltQuerySecurityObject anstelle von ZwQuerySecurityObjectaufrufen.
Anmerkung
Wenn der Aufruf der ZwQuerySecurityObject--Funktion im Benutzermodus auftritt, 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 behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den NtXxx und ZwXxx- Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP |
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |