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
STATUS_INSUFFICIENT_RESOURCES
Der für die Verwendung dieser Funktion erforderliche Arbeitsspeicher konnte nicht zugeordnet werden.
STATUS_FILE_IS_A_DIRECTORY
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)

Weitere Informationen

FltQueryInformationFile

ZwQueryInformationFile