Compartir a través de


Función FsRtlGetFileSize (ntifs.h)

La rutina FsRtlGetFileSize se usa para obtener el tamaño de un archivo.

Sintaxis

NTSTATUS FsRtlGetFileSize(
  [in]  PFILE_OBJECT   FileObject,
  [out] PLARGE_INTEGER FileSize
);

Parámetros

[in] FileObject

Puntero al objeto de archivo que se va a consultar.

[out] FileSize

Puntero a un entero grande que recibe el tamaño del archivo en la salida.

Valor devuelto

FsRtlGetFileSize devuelve STATUS_SUCCESS o un estado de error adecuado que representa el estado de finalización final de la operación. Entre los posibles códigos de estado de error se incluyen los siguientes:

Código devuelto Descripción
STATUS_INSUFFICIENT_RESOURCES
No se pudo asignar la memoria necesaria para su uso por esta función.
STATUS_FILE_IS_A_DIRECTORY
El objeto FileObject especificado hace referencia a un directorio.

Comentarios

La rutina FsRtlGetFileSize se usa para recuperar el tamaño de archivo de un archivo. A diferencia de ZwQueryInformationFile, FsRtlGetFileSize no adquiere el bloqueo de objetos de archivo en objetos de archivo sincrónicos. Si ya posee recursos del sistema de archivos, debe llamar a FsRtlGetFileSize en lugar de ZwQueryInformationFile, ya que al intentar adquirir el bloqueo de objetos de archivo se infringiría el orden de bloqueo y provocaría interbloqueos. La función ZwQueryInformationFile solo debe ser si aún no posee recursos del sistema de archivos.

FsRtlGetFileSize usará E/S rápida si se admite o la consulta basada en IRP normal para extraer el tamaño del archivo.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

FltQueryInformationFile

ZwQueryInformationFile