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 |
---|---|
|
No se pudo asignar la memoria necesaria para su uso por esta función. |
|
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) |