Fonction FsRtlGetFileSize (ntifs.h)
La routine FsRtlGetFileSize est utilisée pour obtenir la taille d’un fichier.
Syntaxe
NTSTATUS FsRtlGetFileSize(
[in] PFILE_OBJECT FileObject,
[out] PLARGE_INTEGER FileSize
);
Paramètres
[in] FileObject
Pointeur vers l’objet de fichier à interroger.
[out] FileSize
Pointeur vers un entier volumineux qui reçoit la taille du fichier lors de la sortie.
Valeur retournée
FsRtlGetFileSize retourne STATUS_SUCCESS ou une status d’erreur appropriée représentant la status d’achèvement finale de l’opération. Les codes de status d’erreur possibles incluent les éléments suivants :
Code de retour | Description |
---|---|
|
La mémoire nécessaire à l’utilisation de cette fonction n’a pas pu être allouée. |
|
L’objet FileObject spécifié fait référence à un répertoire. |
Remarques
La routine FsRtlGetFileSize est utilisée pour récupérer la taille de fichier d’un fichier. Contrairement à ZwQueryInformationFile, FsRtlGetFileSize n’acquiert pas le verrou d’objet de fichier sur les objets de fichier synchrones. Si vous possédez déjà des ressources de système de fichiers, vous devez appeler FsRtlGetFileSize au lieu de ZwQueryInformationFile, car une tentative d’acquisition du verrou d’objet de fichier violerait l’ordre de verrouillage et entraînerait des blocages. La fonction ZwQueryInformationFile doit être uniquement si vous ne possédez pas déjà de ressources de système de fichiers.
FsRtlGetFileSize utilise des E/S rapides si elle est prise en charge ou une requête basée sur IRP standard pour extraire la taille du fichier.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | ntifs.h (inclure Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs(storport),PowerIrpDDis(wdm) |