* fixed display of non-standard thread priorities

* fixed compile error

git-svn-id: svn://svn.code.sf.net/p/processhacker/code@2686 21ef857c-d57f-4fe0-8362-d861dc6d29cd
This commit is contained in:
wj32
2010-01-20 01:09:22 +00:00
parent fadf7e63f2
commit 1fbeb3ca4e
4 changed files with 24 additions and 13 deletions
+1 -1
View File
@@ -879,6 +879,7 @@ typedef struct _PH_THREAD_ITEM
PH_SYMBOL_RESOLVE_LEVEL StartAddressResolveLevel;
KWAIT_REASON WaitReason;
LONG PriorityWin32;
PPH_STRING PriorityWin32String;
HANDLE ThreadHandle;
@@ -889,7 +890,6 @@ typedef struct _PH_THREAD_ITEM
PPH_STRING CyclesDeltaString;
WCHAR ThreadIdString[PH_INT32_STR_LEN_1];
PWSTR PriorityWin32String;
} PH_THREAD_ITEM, *PPH_THREAD_ITEM;
typedef struct _PH_THREAD_PROVIDER
+2 -2
View File
@@ -864,7 +864,7 @@ INT_PTR CALLBACK PhpProcessThreadsDlgProc(
threadItem
);
PhSetListViewSubItem(lvHandle, lvItemIndex, 2, PhGetString(threadItem->StartAddressString));
PhSetListViewSubItem(lvHandle, lvItemIndex, 3, threadItem->PriorityWin32String);
PhSetListViewSubItem(lvHandle, lvItemIndex, 3, PhGetString(threadItem->PriorityWin32String));
}
break;
case WM_PH_THREAD_MODIFIED:
@@ -878,7 +878,7 @@ INT_PTR CALLBACK PhpProcessThreadsDlgProc(
{
PhSetListViewSubItem(lvHandle, lvItemIndex, 1, PhGetString(threadItem->CyclesDeltaString));
PhSetListViewSubItem(lvHandle, lvItemIndex, 2, PhGetString(threadItem->StartAddressString));
PhSetListViewSubItem(lvHandle, lvItemIndex, 3, threadItem->PriorityWin32String);
PhSetListViewSubItem(lvHandle, lvItemIndex, 3, PhGetString(threadItem->PriorityWin32String));
}
}
break;
+3
View File
@@ -32,6 +32,9 @@
#define IDC_PROCGENERAL_FILENAME 1020
#define IDC_PROCGENERAL_CMDLINE 1021
#define IDC_PROCGENERAL_CURDIR 1022
#define ID_MAINWND_PROCESSLV 2001
#define ID_MAINWND_SERVICELV 2002
#define ID_MAINWND_NETWORKLV 2003
#define ID_HACKER_EXIT 40001
#define ID_USERS 40002
#define ID_TOOLS 40003
+18 -10
View File
@@ -325,6 +325,7 @@ VOID PhpThreadItemDeleteProcedure(
if (threadItem->ThreadHandle) CloseHandle(threadItem->ThreadHandle);
if (threadItem->StartAddressString) PhDereferenceObject(threadItem->StartAddressString);
if (threadItem->PriorityWin32String) PhDereferenceObject(threadItem->PriorityWin32String);
if (threadItem->ContextSwitchesDeltaString) PhDereferenceObject(threadItem->ContextSwitchesDeltaString);
if (threadItem->CyclesDeltaString) PhDereferenceObject(threadItem->CyclesDeltaString);
}
@@ -492,28 +493,30 @@ PPH_STRING PhpGetThreadBasicStartAddress(
return symbol;
}
PWSTR PhpGetPriorityWin32String(
PPH_STRING PhpGetPriorityWin32String(
__in LONG PriorityWin32
)
{
switch (PriorityWin32)
{
case THREAD_PRIORITY_TIME_CRITICAL:
return L"Time Critical";
return PhCreateString(L"Time Critical");
case THREAD_PRIORITY_HIGHEST:
return L"Highest";
return PhCreateString(L"Highest");
case THREAD_PRIORITY_ABOVE_NORMAL:
return L"Above Normal";
return PhCreateString(L"Above Normal");
case THREAD_PRIORITY_NORMAL:
return L"Normal";
return PhCreateString(L"Normal");
case THREAD_PRIORITY_BELOW_NORMAL:
return L"Below Normal";
return PhCreateString(L"Below Normal");
case THREAD_PRIORITY_LOWEST:
return L"Lowest";
return PhCreateString(L"Lowest");
case THREAD_PRIORITY_IDLE:
return L"Idle";
return PhCreateString(L"Idle");
case THREAD_PRIORITY_ERROR_RETURN:
return NULL;
default:
return L"";
return PhFormatString(L"%d", PriorityWin32);
}
}
@@ -889,7 +892,12 @@ VOID PhThreadProviderUpdate(
if (threadItem->PriorityWin32 != oldPriorityWin32)
{
threadItem->PriorityWin32String = PhpGetPriorityWin32String(threadItem->PriorityWin32);
PPH_STRING priorityWin32String;
priorityWin32String = PhpGetPriorityWin32String(threadItem->PriorityWin32);
PhSwapReference(&threadItem->PriorityWin32String, priorityWin32String);
PhDereferenceObject(priorityWin32String);
modified = TRUE;
}
}