共用方式為


使用相對時間來存取空閒/忙碌數據

Free/Busy API 中的 IFreeBusyData 介面使用相對時間的概念,也就是自 1601 年 1 月 1 日起的分鐘數,以通用時間 (UTC) 表示,而 是 LONG 類型的值。

以下是一些常用的相對時間值:

  • ULONG ulrtmMax = 1525252319L

  • ULONG ulrtmMin = 0L

使用上述最大值和最小相對時間值,協助確認您的相對時間值有效。

由於 NTFS 會以 FILETIME 格式以原生方式記錄檔案時間,因此使用下列程式代碼範例來轉換 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; 
} 

另請參閱