GetProcessTimes 函式 (processthreadsapi.h)
擷取指定進程的計時資訊。
語法
BOOL GetProcessTimes(
[in] HANDLE hProcess,
[out] LPFILETIME lpCreationTime,
[out] LPFILETIME lpExitTime,
[out] LPFILETIME lpKernelTime,
[out] LPFILETIME lpUserTime
);
參數
[in] hProcess
要尋找計時信息的處理程式句柄。 句柄必須具有 PROCESS_QUERY_INFORMATION 或 PROCESS_QUERY_LIMITED_INFORMATION 訪問許可權。 如需詳細資訊,請參閱 處理安全性和訪問許可權。
Windows Server 2003 和 Windows XP: 句柄必須具有 PROCESS_QUERY_INFORMATION 訪問許可權。
[out] lpCreationTime
接收進程建立時間之 FILETIME 結構的指標。
[out] lpExitTime
接收進程結束時間之 FILETIME 結構的指標。 如果進程尚未結束,則未定義這個結構的內容。
[out] lpKernelTime
FILETIME 結構的指標,可接收進程在核心模式中執行的時間量。 決定進程每個線程在核心模式中執行的時間,然後所有時間都會加總,以取得此值。
[out] lpUserTime
FILETIME 結構的指標,可接收進程在使用者模式中執行的時間量。 決定進程每個線程在使用者模式中執行的時間,然後所有時間都會加總,以取得此值。 請注意,如果進程跨多個CPU核心執行,此值可能會超過 lpCreationTime 與 lpExitTime 之間的即時耗用 (量) 。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
所有時間都會使用 FILETIME 數據結構來表示。 這類結構包含兩個結合的32位值,形成64位計數100奈秒的時間單位。
程式建立和結束時間是時間點,表示為自 1601 年 1 月 1 日 1601 年 1 月 1 日午夜起經過的時間量。 應用程式可以使用數個函式,將這類值轉換成更普遍有用的表單。
進程核心模式和使用者模式時間是時間量。 例如,如果進程在核心模式中花費了一秒,此函式會將 lpKernelTime 所指定的 FILETIME 結構填入 64 位值為 1000 萬。 這是 100 奈秒單位的數目。
若要擷取進程線程所使用的CPU時鐘週期數目,請使用 QueryProcessCycleTime 函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | processthreadsapi.h (Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |