Here i need total time of a thread,so i am using GetThreadTimes function to get thread times kernel mode as well as in user mode.
GetThreadTimes(threadHandle, &ftCreate, &ftExit, &ftKernel, &ftUser);
LARGE_INTEGER qwKernel, qwUser;
qwKernel.HighPart = ((ftKernel.dwHighDateTime));
qwKernel.LowPart = ftKernel.dwLowDateTime;
I Can able to get the thread creation time.But i need to get the ( kernel time + user time ) total time used by this thread.
Since kernal and User time that i get from the GetthreadTimes is amount of time taken(either in Milliseconds or Seconds) , how to get those times.
I tried below code snippet. But I am getting huge numbers in the corresponding QuadParts.
qwUser.HighPart = ftUser.dwHighDateTime;
qwUser.LowPart = ftUser.dwLowDateTime;
cout << "Kernel QuadPart value :" << qwKernel.QuadPart << endl;
cout << "User QuadPart value :" << qwUser.QuadPart << endl;
I am getting the Output as :
Kernel QuadPart value :140716350575597 User QuadPart value : 739454089384
Kernel QuadPart value :-2 User QuadPart value : 739510908248
From the above output i get huge numbers. But my thread's total elapsed time is only less than 10 seconds.
Is this the correct way i am getting the Kernel and User time..?
Thanks.