GetThreadTimes
The GetThreadTimes
function obtains timing information about a specified thread.
BOOL GetThreadTimes(
HANDLE hThread, |
// specifies the
thread of interest |
LPFILETIME lpCreationTime, |
// when the thread
was created |
LPFILETIME lpExitTime, |
// when the thread
was destroyed |
LPFILETIME lpKernelTime, |
// time the thread
has spent in kernel mode |
LPFILETIME lpUserTime |
// time the thread
has spent in user mode |
); |
|
Parameters
hThread
An open
handle that specifies the thread whose timing information is sought. This
handle must be created with THREAD_QUERY_INFORMATION access. For more
information, see Thread Objects
lpCreationTime
Points to a FILETIME
lpExitTime
Points to a FILETIME
structure that receives the exit time of the thread. If the thread has not exited,
the content of this structure is undefined.
lpKernelTime
Points to a FILETIME
lpUserTime
Points to a FILETIME
structure that receives the amount of time that the thread has executed in user
mode.
Return Values
If the
function succeeds, the return value is nonzero.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Remarks
All times are
expressed using FILETIME
Thread
creation and exit times are points in time expressed as the amount of time that
has elapsed since midnight on January 1, 1601 at Greenwich, England. The Win32
API provides several functions that an application can use to convert such
values to more generally useful forms; see Time and Date Functions, and the
functions noted in the following See Also section.
Thread kernel
mode and user mode times are amounts of time. For example, if a thread has
spent one second in kernel mode, this function will fill the FILETIME
structure specified by lpKernelTime with a 64-bit value of ten million.
That is the number of 100-nanosecond units in one second.
See Also