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 0xFFFFFFFFcomo .

[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 0xFFFFFFFFcomo .

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

Confira também

FILETIME

Tempos de arquivo

GetFileSize

GetFileTime

GetFileType

SetFileInformationByHandle

Funções de tempo