Compartir a través de


Utilizar un tiempo relativo a los datos de disponibilidad de acceso

La interfaz IFreeBusyData de la API de disponibilidad usa un concepto de tiempo relativo, que es el número de minutos desde el 1 de enero de 1601, expresado en hora universal (UTC), y es un valor de tipo LONG.

A continuación se muestran algunos valores de tiempo relativos de uso frecuente:

  • ULONG ulrtmMax = 1525252319L

  • ULONG ulrtmMin = 0L

Use los valores de tiempo máximo y mínimo relativo anteriores para ayudar a comprobar que los valores de tiempo relativos son válidos.

Dado que NTFS registra las horas de archivo de forma nativa en formato FILETIME , puede ser útil usar el siguiente ejemplo de código para convertir el tiempo relativo a y desde 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; 
} 

Vea también