Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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;
}