Freigeben über


Verwenden von relativer Zeit zum Zugriff auf Frei/Gebucht-Daten

Die IFreeBusyData-Schnittstelle in der Frei/Gebucht-API verwendet ein Konzept der relativen Zeit, d. h. die Anzahl der Minuten seit dem 1. Januar 1601, ausgedrückt in Weltzeit (UTC), und ist ein Wert vom Typ LONG.

Im Folgenden sind einige häufig verwendete relative Zeitwerte aufgeführt:

  • ULONG ulrtmMax = 1525252319L

  • ULONG ulrtmMin = 0L

Verwenden Sie die oben genannten maximalen und minimalen relativen Zeitwerte, um zu überprüfen, ob Ihre relativen Zeitwerte gültig sind.

Da NTFS Dateizeiten nativ im FILETIME-Format aufzeichnet, kann es hilfreich sein, das folgende Codebeispiel zu verwenden, um die relative Zeit in und von FILETIME zu konvertieren.

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; 
} 

Siehe auch