mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
* 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:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user