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 zu abfragende 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 geeigneten Fehlerstatus zurück, der den endgültigen Abschlussstatus des Vorgangs darstellt. Mögliche Fehlerstatuscodes sind:
Rückgabecode | Beschreibung |
---|---|
|
Der für die Verwendung durch diese Funktion erforderliche Arbeitsspeicher konnte nicht zugeordnet werden. |
|
Die angegebene FileObject-bezieht sich auf ein Verzeichnis. |
Bemerkungen
Die FsRtlGetFileSize Routine wird verwendet, um die Dateigröße für eine Datei abzurufen. Im Gegensatz zu ZwQueryInformationFileerhält FsRtlGetFileSize die Dateiobjektsperre für synchrone Dateiobjekte nicht. Wenn Sie bereits über Dateisystemressourcen verfügen, sollten Sie FsRtlGetFileSize anstelle von ZwQueryInformationFileaufrufen, da der Versuch, die Dateiobjektsperre abzurufen, die Sperrreihenfolge verletzen und zu Deadlocks führen würde. Die ZwQueryInformationFile--Funktion sollte nur dann sein, wenn Sie noch keine Dateisystemressourcen besitzen.
FsRtlGetFileSize verwendet schnelle E/A, wenn sie unterstützt wird oder reguläre IRP-basierte Abfrage zum Extrahieren der Dateigröße verwendet wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |