wvufan
5th April 2007, 05:07 AM
Does anyone have experience using GetThreadTimes() on Smartphone? I have some code that works fine on PPC (pulls thread cpu usage for all threads), but it can only get the usage of threads for the current process on Smartphone. There's no reference to the platforms having different security models. Any clues?
Here is the relevant code being used:
SetProcPermissions( 0xFFFFFFFF ); // should enable access to other threads
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD, 0);
THREADENTRY32 entry;
entry.dwSize = sizeof(THREADENTRY32);
BOOL more = Thread32First(hSnap, &entry);
while(more) {
GetThreadTimes( (HANDLE) entry.th32ThreadID, &creation, &exit, &kernel, &user);
more = Thread32Next(hSnap, &entry);
}
This snippet works fine on PPC devices, but for Smartphone, the GetThreadTimes() call results in an error code of 6 (ERROR_INVALID_HANDLE).
Any help is GREATLY appreciated. I'm trying to wrap up a project that may be trashed if I cannot get this data.
Thanks in advance,
Jay
Here is the relevant code being used:
SetProcPermissions( 0xFFFFFFFF ); // should enable access to other threads
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD, 0);
THREADENTRY32 entry;
entry.dwSize = sizeof(THREADENTRY32);
BOOL more = Thread32First(hSnap, &entry);
while(more) {
GetThreadTimes( (HANDLE) entry.th32ThreadID, &creation, &exit, &kernel, &user);
more = Thread32Next(hSnap, &entry);
}
This snippet works fine on PPC devices, but for Smartphone, the GetThreadTimes() call results in an error code of 6 (ERROR_INVALID_HANDLE).
Any help is GREATLY appreciated. I'm trying to wrap up a project that may be trashed if I cannot get this data.
Thanks in advance,
Jay