Função SetEndOfFile (fileapi.h)
Define o tamanho do arquivo físico para o arquivo especificado como a posição atual do ponteiro do arquivo.
O tamanho do arquivo físico também é conhecido como o final do arquivo. A função SetEndOfFile pode ser usada para truncar ou estender um arquivo. Para definir o final lógico de um arquivo, use a função SetFileValidData .
Sintaxe
BOOL SetEndOfFile(
[in] HANDLE hFile
);
Parâmetros
[in] hFile
Um identificador para o arquivo a ser estendido ou truncado.
O identificador de arquivo deve ser criado com o direito de acesso GENERIC_WRITE . Para obter mais informações, consulte Segurança de arquivo e direitos de acesso.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será 0 (zero). Para obter informações de erro estendidas, chame GetLastError.
Comentários
A função SetEndOfFile pode ser usada para truncar ou estender um arquivo. Se o arquivo for estendido, o conteúdo do arquivo entre a extremidade antiga do arquivo e a nova extremidade do arquivo não será definido.
Cada fluxo de arquivos tem o seguinte:
- Tamanho do arquivo: o tamanho dos dados em um arquivo, para o byte.
- Tamanho da alocação: o tamanho do espaço alocado para um arquivo em um disco, que é sempre um múltiplo par do tamanho do cluster.
- Comprimento de dados válido: o comprimento dos dados em um arquivo que é realmente gravado, no byte. Esse valor é sempre menor ou igual ao tamanho do arquivo.
If
CreateFileMapping é chamado para criar um objeto de mapeamento de arquivo para hFile, UnmapViewOfFile deve ser chamado primeiro para desmapear todos os modos de exibição e chamar CloseHandle para fechar o objeto de mapeamento de arquivo antes que você possa chamar SetEndOfFile.
Operações transacionadas
Se houver uma transação associada ao identificador, a alteração na posição final do arquivo será transacionada.No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.
Tecnologia | Com suporte |
---|---|
Protocolo SMB (SMB) 3.0 | Sim |
TFO (Failover transparente) do SMB 3.0 | Sim |
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) | Sim |
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) | Sim |
ReFS (Sistema de Arquivos Resiliente) | Sim |
Requisitos
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | fileapi.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |