Función SetEndOfFile (fileapi.h)

Establece el tamaño de archivo físico del archivo especificado en la posición actual del puntero de archivo.

El tamaño del archivo físico también se conoce como el final del archivo. La función SetEndOfFile se puede usar para truncar o extender un archivo. Para establecer el final lógico de un archivo, use la función SetFileValidData .

Sintaxis

BOOL SetEndOfFile(
  [in] HANDLE hFile
);

Parámetros

[in] hFile

Identificador del archivo que se va a extender o truncar.

El identificador de archivo debe crearse con el derecho de acceso GENERIC_WRITE . Para obtener más información, vea Seguridad de archivos y derechos de acceso.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero (0). Para obtener información de error extendida, llame a GetLastError.

Comentarios

La función SetEndOfFile se puede usar para truncar o extender un archivo. Si el archivo se extiende, no se define el contenido del archivo entre el extremo anterior del archivo y el nuevo final del archivo.

Cada secuencia de archivos tiene lo siguiente:

  • Tamaño del archivo: tamaño de los datos de un archivo, en el byte.
  • Tamaño de asignación: el tamaño del espacio asignado para un archivo en un disco, que siempre es un múltiplo del tamaño del clúster.
  • Longitud de datos válida: la longitud de los datos de un archivo que se escribe realmente en el byte. Este valor siempre es menor o igual que el tamaño del archivo.
La función SetEndOfFile establece el tamaño del archivo. Use SetFileValidData para establecer la longitud de datos válida.

Si
Se llama a CreateFileMapping para crear un objeto de asignación de archivos para hFile, primero se debe llamar a UnmapViewOfFile para desasignar todas las vistas y llamar a CloseHandle para cerrar el objeto de asignación de archivos antes de poder llamar a SetEndOfFile.

Operaciones de transacción

Si hay una transacción enlazada al identificador, se realiza la transacción del cambio en la posición del final del archivo.

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)

Requisitos

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

Vea también

CloseHandle

CreateFile

CreateFileMapping

Funciones de administración de archivos

SetFileInformationByHandle

SetFileValidData

UnmapViewOfFile