Função SetFileTime (fileapi.h)
Define a data e a hora em que o arquivo ou diretório especificado foi criado, acessado pela última vez ou modificado pela última vez.
Sintaxe
BOOL SetFileTime(
[in] HANDLE hFile,
[in, optional] const FILETIME *lpCreationTime,
[in, optional] const FILETIME *lpLastAccessTime,
[in, optional] const FILETIME *lpLastWriteTime
);
Parâmetros
[in] hFile
Um identificador para o arquivo ou diretório. O identificador deve ter sido criado usando a função CreateFile com o direito de acesso FILE_WRITE_ATTRIBUTES. Para obter mais informações, consulte Segurança de arquivo e direitos de acesso.
[in, optional] lpCreationTime
Um ponteiro para uma estrutura FILETIME que contém a nova data e hora de criação para o arquivo ou diretório. Se o aplicativo não precisar alterar essas informações, defina esse parâmetro como NULL
ou como um ponteiro para uma estrutura FILETIME que tenha os membros dwLowDateTime e dwHighDateTime definidos como 0
.
[in, optional] lpLastAccessTime
Um ponteiro para uma estrutura FILETIME que contém a nova data e hora do último acesso para o arquivo ou diretório. A hora do último acesso inclui a última vez em que o arquivo ou diretório foi gravado, lido ou (no caso de arquivos executáveis) executado. Se o aplicativo não precisar alterar essas informações, defina esse parâmetro como NULL
ou como um ponteiro para uma estrutura FILETIME que tenha os membros dwLowDateTime e dwHighDateTime definidos como 0
.
Para impedir que as operações de arquivo que usam o identificador determinado modifiquem a hora do último acesso, chame SetFileTime imediatamente após abrir o identificador de arquivo e passe uma estrutura FILETIME que tenha os membros dwLowDateTime e dwHighDateTime definidos 0xFFFFFFFF
como .
[in, optional] lpLastWriteTime
Um ponteiro para uma estrutura FILETIME que contém a nova data e hora da última modificação para o arquivo ou diretório. Se o aplicativo não precisar alterar essas informações, defina esse parâmetro como NULL
ou como um ponteiro para uma estrutura FILETIME que tenha os membros dwLowDateTime e dwHighDateTime definidos como 0
.
Para impedir que as operações de arquivo que usam o identificador determinado modifiquem a hora da última gravação, chame SetFileTime imediatamente após abrir o identificador de arquivo e passe uma estrutura FILETIME que tenha os membros dwLowDateTime e dwHighDateTime definidos 0xFFFFFFFF
como .
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á zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Nem todos os sistemas de arquivos podem registrar a criação e os últimos horários de acesso e nem todos os sistemas de arquivos os registram da mesma maneira. Por exemplo, no FAT, o tempo de criação tem uma resolução de 10 milissegundos, o tempo de gravação tem uma resolução de 2 segundos e o tempo de acesso tem uma resolução de 1 dia (na verdade, a data de acesso). Portanto, a função GetFileTime pode não retornar as mesmas informações de tempo de arquivo definidas usando SetFileTime. O NTFS atrasa as atualizações para a hora do último acesso de um arquivo em até uma hora após o último acesso.
Exemplos
Para obter um exemplo, consulte Alterando um tempo de arquivo para a hora atual.
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 |