共用方式為


GetThreadTimes 函式 (processthreadsapi.h)

擷取指定線程的計時資訊。

語法

BOOL GetThreadTimes(
  [in]  HANDLE     hThread,
  [out] LPFILETIME lpCreationTime,
  [out] LPFILETIME lpExitTime,
  [out] LPFILETIME lpKernelTime,
  [out] LPFILETIME lpUserTime
);

參數

[in] hThread

線程的句柄,其計時資訊是所要尋找的。 句柄必須具有 THREAD_QUERY_INFORMATIONTHREAD_QUERY_LIMITED_INFORMATION 訪問許可權。 如需詳細資訊,請參閱 線程安全性和訪問許可權

Windows Server 2003 和 Windows XP: 句柄必須具有 THREAD_QUERY_INFORMATION 訪問許可權。

[out] lpCreationTime

FILETIME 結構的指標,可接收線程的建立時間。

[out] lpExitTime

接收線程結束時間之 FILETIME 結構的指標。 如果線程尚未結束,則此結構的內容是未定義的。

[out] lpKernelTime

FILETIME 結構的指標,可接收線程在核心模式中執行的時間量。

[out] lpUserTime

FILETIME 結構的指標,可接收線程在使用者模式中執行的時間量。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

所有時間都會使用 FILETIME 數據結構來表示。 這類結構包含兩個32位值,結合以形成100奈秒時間單位的64位計數。

線程建立和結束時間是以自1601年1月1日1601年1月1日午夜以來經過的時間點表示。 應用程式可以使用數個函式,將這類值轉換成更普遍有用的形式;請參閱 時間函數

線程核心模式和使用者模式時間是時間量。 例如,如果線程在核心模式中花費了一秒,則此函式會填滿 lpKernelTime 所指定的 FILETIME 結構,其值為 64 位 1000 萬。 這是 100 奈秒單位的數目。

若要擷取線程所使用的 CPU 時鐘週期數目,請使用 QueryThreadCycleTime 函式。

規格需求

需求
最低支援的用戶端 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

另請參閱

FILETIME

FileTimeToDosDateTime

FileTimeToLocalFileTime

FileTimeToSystemTime

OpenThread

處理序和執行緒函式

執行緒