NtQueryInformationByName-Funktion (ntifs.h)
NtQueryInformationByName gibt die angeforderten Informationen zu einer Datei zurück, die durch den Dateinamen angegeben wird.
Syntax
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryInformationByName(
[in] POBJECT_ATTRIBUTES ObjectAttributes,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID FileInformation,
[in] ULONG Length,
[in] FILE_INFORMATION_CLASS FileInformationClass
);
Parameter
[in] ObjectAttributes
Zeiger auf eine OBJECT_ATTRIBUTES Struktur, die die Attribute der Datei enthält, einschließlich des Dateinamens.
[out] IoStatusBlock
Zeiger auf eine IO_STATUS_BLOCK-Struktur, die die E/A-status des Aufrufers enthält.
[out] FileInformation
Zeiger auf den vom Aufrufer bereitgestellten Puffer, in dem die angeforderten Informationen zur Datei zurückgegeben werden sollen. Die Struktur des Puffers wird durch den FileInformationClass-Parameter bestimmt.
[in] Length
Länge des Puffers, auf den FileInformation verweist, in Byte.
[in] FileInformationClass
Ein FILE_INFORMATION_CLASS Wert, der den Typ der Dateiinformationen angibt, die im Puffer zurückgegeben werden sollen, auf den FileInformation verweist. FileInformationClass kann einer der folgenden Werte sein.
FILE_INFORMATION_CLASS-Wert | Typ der zurückzugebenden Informationen |
---|---|
FileStatInformation (68) | FILE_STAT_INFORMATION. Verfügbar ab Windows 10 Version 1709. |
FileStatLxInformation (70) | FILE_STAT_LX_INFORMATION. Verfügbar ab Windows 10 Update vom April 2018. |
FileCaseSensitiveInformation (71) | FILE_CASE_SENSITIVE_INFORMATION. Verfügbar ab Windows 10 Update vom April 2018. |
FileStatBasicInformation (77) | FILE_STAT_BASIC_INFORMATION. Verfügbar ab Windows 11, Build 26048. |
Rückgabewert
NtQueryInformationByName gibt nach erfolgreichem Abschluss STATUS_SUCCESS zurück. Andernfalls wird ein Fehlercode zurückgegeben, z. B. einer der folgenden.
Fehlercode | Bedeutung |
---|---|
STATUS_INVALID_PARAMETER | Der Parameter FileInformationClass enthält einen ungültigen Wert. |
STATUS_INFO_LENGTH_MISMATCH | Die durch Länge angegebene Puffergröße ist nicht groß genug, um die angeforderten Informationen zu enthalten. |
Hinweise
NtQueryInformationByName fragt die angeforderten Informationen zur Datei ab und gibt diese zurück. Dies geschieht, ohne die eigentliche Datei zu öffnen, was sie effizienter als NtQueryInformationFile macht, was eine Datei öffnen (und nachfolgende Datei schließen) erfordert.
Aufrufer von NtQueryInformationByName müssen unter IRQL = PASSIVE_LEVEL und mit aktivierten speziellen Kernel-APCs ausgeführt werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 1703 |
Kopfzeile | ntifs.h |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |