forked from winsiderss/systeminformer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy paththrdlist.h
More file actions
115 lines (89 loc) · 2.4 KB
/
Copy paththrdlist.h
File metadata and controls
115 lines (89 loc) · 2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#ifndef PH_THRDLIST_H
#define PH_THRDLIST_H
#include <phuisup.h>
#include <colmgr.h>
// Columns
#define PHTHTLC_TID 0
#define PHTHTLC_CPU 1
#define PHTHTLC_CYCLESDELTA 2
#define PHTHTLC_STARTADDRESS 3
#define PHTHTLC_PRIORITY 4
#define PHTHTLC_SERVICE 5
#define PHTHTLC_MAXIMUM 6
// begin_phapppub
typedef struct _PH_THREAD_NODE
{
PH_TREENEW_NODE Node;
PH_SH_STATE ShState;
HANDLE ThreadId;
PPH_THREAD_ITEM ThreadItem;
// end_phapppub
PH_STRINGREF TextCache[PHTHTLC_MAXIMUM];
ULONG ValidMask;
WCHAR CpuUsageText[PH_INT32_STR_LEN_1];
PPH_STRING CyclesDeltaText; // used for Context Switches Delta as well
PPH_STRING StartAddressText;
PPH_STRING PriorityText;
// begin_phapppub
} PH_THREAD_NODE, *PPH_THREAD_NODE;
// end_phapppub
typedef struct _PH_THREAD_LIST_CONTEXT
{
HWND ParentWindowHandle;
HWND TreeNewHandle;
ULONG TreeNewSortColumn;
PH_SORT_ORDER TreeNewSortOrder;
PH_CM_MANAGER Cm;
BOOLEAN UseCycleTime;
BOOLEAN HasServices;
PPH_HASHTABLE NodeHashtable;
PPH_LIST NodeList;
BOOLEAN EnableStateHighlighting;
PPH_POINTER_LIST NodeStateList;
} PH_THREAD_LIST_CONTEXT, *PPH_THREAD_LIST_CONTEXT;
VOID PhInitializeThreadList(
_In_ HWND ParentWindowHandle,
_In_ HWND TreeNewHandle,
_Out_ PPH_THREAD_LIST_CONTEXT Context
);
VOID PhDeleteThreadList(
_In_ PPH_THREAD_LIST_CONTEXT Context
);
VOID PhLoadSettingsThreadList(
_Inout_ PPH_THREAD_LIST_CONTEXT Context
);
VOID PhSaveSettingsThreadList(
_Inout_ PPH_THREAD_LIST_CONTEXT Context
);
PPH_THREAD_NODE PhAddThreadNode(
_Inout_ PPH_THREAD_LIST_CONTEXT Context,
_In_ PPH_THREAD_ITEM ThreadItem,
_In_ BOOLEAN FirstRun
);
PPH_THREAD_NODE PhFindThreadNode(
_In_ PPH_THREAD_LIST_CONTEXT Context,
_In_ HANDLE ThreadId
);
VOID PhRemoveThreadNode(
_In_ PPH_THREAD_LIST_CONTEXT Context,
_In_ PPH_THREAD_NODE ThreadNode
);
VOID PhUpdateThreadNode(
_In_ PPH_THREAD_LIST_CONTEXT Context,
_In_ PPH_THREAD_NODE ThreadNode
);
VOID PhTickThreadNodes(
_In_ PPH_THREAD_LIST_CONTEXT Context
);
PPH_THREAD_ITEM PhGetSelectedThreadItem(
_In_ PPH_THREAD_LIST_CONTEXT Context
);
VOID PhGetSelectedThreadItems(
_In_ PPH_THREAD_LIST_CONTEXT Context,
_Out_ PPH_THREAD_ITEM **Threads,
_Out_ PULONG NumberOfThreads
);
VOID PhDeselectAllThreadNodes(
_In_ PPH_THREAD_LIST_CONTEXT Context
);
#endif