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 |