GetProcessTimes
The GetProcessTimes
function obtains timing information about a specified process.
BOOL GetProcessTimes(
HANDLE hProcess, |
// specifies the
process of interest |
LPFILETIME lpCreationTime, |
// when the process
was created |
LPFILETIME lpExitTime, |
// when the process
exited |
LPFILETIME lpKernelTime, |
// time the process
has spent in kernel mode |
LPFILETIME lpUserTime |
// time the process
has spent in user mode |
); |
|
Parameters
hProcess
An open
handle that specifies the process whose timing information is sought. This
handle must be created with PROCESS_QUERY_INFORMATION access. For more
information, see Process Objects
lpCreationTime
Points to a FILETIME
lpExitTime
Points to a FILETIME
structure that receives the exit time of the process. If the process 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 process has executed in
user mode. The time that each of the threads of the process has executed in
user mode is determined, and then all of those times are summed together to
obtain this value.
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 data structures. Such a structure contains two
32-bit values that combine to form a 64-bit count of 100-nanosecond time units.
Process
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.
Process
kernel mode and user mode times are amounts of time. For example, if a process
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