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.
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 | Sí |
Conmutación por error transparente (TFO) de SMB 3.0 | Sí |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | Sí |
Sistema de archivos de Volumen compartido de clúster (CsvFS) | Sí |
Sistema de archivos resistente a errores (ReFS) | Sí |
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 |