FsRtlGetFileSize-Funktion (ntifs.h)
Die FsRtlGetFileSize-Routine wird verwendet, um die Größe einer Datei abzurufen.
Syntax
NTSTATUS FsRtlGetFileSize(
[in] PFILE_OBJECT FileObject,
[out] PLARGE_INTEGER FileSize
);
Parameter
[in] FileObject
Ein Zeiger auf das abzufragende Dateiobjekt.
[out] FileSize
Ein Zeiger auf eine große ganze Zahl, die die Dateigröße bei der Ausgabe empfängt.
Rückgabewert
FsRtlGetFileSize gibt STATUS_SUCCESS oder einen entsprechenden Fehler zurück, status die endgültige Vervollständigung status des Vorgangs darstellt. Mögliche Fehler status Codes sind:
Rückgabecode | Beschreibung |
---|---|
|
Der für die Verwendung dieser Funktion erforderliche Arbeitsspeicher konnte nicht zugeordnet werden. |
|
Das angegebene FileObject verweist auf ein Verzeichnis. |
Hinweise
Die FsRtlGetFileSize-Routine wird verwendet, um die Dateigröße für eine Datei abzurufen. Im Gegensatz zu ZwQueryInformationFile ruft FsRtlGetFileSize die Dateiobjektsperre für synchrone Dateiobjekte nicht ab. Wenn Sie bereits Dateisystemressourcen besitzen, sollten Sie fsRtlGetFileSize anstelle von ZwQueryInformationFile aufrufen, da der Versuch, die Dateiobjektsperre abzurufen, gegen die Sperrreihenfolge verstoßen und zu Deadlocks führen würde. Die ZwQueryInformationFile-Funktion sollte nur verwendet werden, wenn Sie noch keine Dateisystemressourcen besitzen.
FsRtlGetFileSize verwendet schnelle E/A, wenn sie unterstützt wird, oder eine reguläre IRP-basierte Abfrage, um die Dateigröße zu extrahieren.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | ntifs.h (include Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |