Compartilhar via


Usar o tempo relativo para acessar dados de disponibilidade

A interface IFreeBusyData na API de Disponibilidade usa um conceito de tempo relativo, que é o número de minutos desde 1º de janeiro de 1601, que é expresso em Tempo Universal (UTC) e é um valor do tipo LONG.

Estes são alguns valores de tempo relativo usados com frequência:

  • ULONG ulrtmMax = 1525252319L

  • ULONG ulrtmMin = 0L

Use os valores de tempo relativo máximo e mínimo acima para verificar se os valores de tempo relativo são válidos.

Como o NTFS registra tempos de arquivo nativamente no formato FILETIME, pode ser útil usar o exemplo de código a seguir para converter o tempo relativo de e para FILETIME.

static const LONGLONG UnitsPerMinute = 600000000; 
static const LONGLONG UnitsPerHalfMinute = 300000000; 
void RTimeToFileTime(LONG rtime, FILETIME *pft) 
{ 
    Assert(pft != NULL); 
    ULARGE_INTEGER *puli = (ULARGE_INTEGER *)pft; 
    puli->QuadPart = rtime * UnitsPerMinute; 
} 
  
void FileTimeToRTime(FILETIME *pft, LONG* prtime) 
{ 
    Assert(pft != NULL); 
    Assert(prtime != NULL); 
 
    ULARGE_INTEGER uli = *(ULARGE_INTEGER *)pft; 
  
    uli.QuadPart += UnitsPerHalfMinute; 
    uli.QuadPart /= UnitsPerMinute; 
    *prtime = uli.LowPart; 
} 

Confira também