Función GetFileSize (fileapi.h)

Recupera el tamaño del archivo especificado, en bytes.

Se recomienda usar GetFileSizeEx.

Sintaxis

DWORD GetFileSize(
  [in]            HANDLE  hFile,
  [out, optional] LPDWORD lpFileSizeHigh
);

Parámetros

[in] hFile

Identificador del archivo.

[out, optional] lpFileSizeHigh

Puntero a la variable donde se devuelve la palabra doble de orden superior del tamaño del archivo. Este parámetro puede ser NULL si la aplicación no requiere la doble palabra de orden superior.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es la doble de orden bajo del tamaño del archivo y, si lpFileSizeHigh no es NULL, la función coloca la doble palabra doble de orden superior del tamaño del archivo en la variable a la que apunta ese parámetro.

Si se produce un error en la función y lpFileSizeHigh es NULL, el valor devuelto es INVALID_FILE_SIZE. Para obtener información de error extendida, llame a GetLastError. Cuando lpFileSizeHigh es NULL, los resultados devueltos para archivos grandes son ambiguos y no podrá determinar el tamaño real del archivo. Se recomienda usar GetFileSizeEx en su lugar.

Si se produce un error en la función y lpFileSizeHigh no es NULL, el valor devuelto es INVALID_FILE_SIZE y GetLastError devolverá un valor distinto de NO_ERROR.

Comentarios

No se puede usar la función GetFileSize con un identificador de un dispositivo sin ver, como una canalización o un dispositivo de comunicaciones. Para determinar el tipo de archivo para hFile, use la función GetFileType .

La función GetFileSize recupera el tamaño sin comprimir de un archivo. Use la función GetCompressedFileSize para obtener el tamaño comprimido de un archivo.

Tenga en cuenta que si el valor devuelto es INVALID_FILE_SIZE (0xffffffff), una aplicación debe llamar a GetLastError para determinar si la función se ha realizado correctamente o no. El motivo por el que puede aparecer un error en la función cuando no tiene es que lpFileSizeHigh podría ser distinto de NULL o el tamaño del archivo podría ser 0xffffffff. En este caso, GetLastError devolverá NO_ERROR (0) cuando se complete correctamente. Debido a este comportamiento, se recomienda usar GetFileSizeEx en su lugar.

Operaciones de transacción: Si hay una transacción enlazada al identificador de archivo, la función devuelve información para la vista de archivo aislada.

En Windows 8 y Windows Server 2012, esta función es compatible con las tecnologías siguientes.

Tecnología Compatible
Protocolo Bloque de mensajes del servidor (SMB) 3.0
Conmutación por error transparente (TFO) de SMB 3.0
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO)
Sistema de archivos de Volumen compartido de clúster (CsvFS)
Sistema de archivos resistente a errores (ReFS)
 

Ejemplos

Para obtener un ejemplo, vea Crear una vista dentro de un archivo.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado fileapi.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Funciones de administración de archivos

GetCompressedFileSize

GetFileSizeEx

GetFileType