forked from winsiderss/systeminformer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodlist.h
More file actions
165 lines (131 loc) · 3.55 KB
/
Copy pathmodlist.h
File metadata and controls
165 lines (131 loc) · 3.55 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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
#ifndef PH_MODLIST_H
#define PH_MODLIST_H
#include <phuisup.h>
#include <colmgr.h>
// Columns
#define PHMOTLC_NAME 0
#define PHMOTLC_BASEADDRESS 1
#define PHMOTLC_SIZE 2
#define PHMOTLC_DESCRIPTION 3
#define PHMOTLC_COMPANYNAME 4
#define PHMOTLC_VERSION 5
#define PHMOTLC_FILENAME 6
#define PHMOTLC_TYPE 7
#define PHMOTLC_LOADCOUNT 8
#define PHMOTLC_VERIFICATIONSTATUS 9
#define PHMOTLC_VERIFIEDSIGNER 10
#define PHMOTLC_ASLR 11
#define PHMOTLC_TIMESTAMP 12
#define PHMOTLC_CFGUARD 13
#define PHMOTLC_LOADTIME 14
#define PHMOTLC_LOADREASON 15
#define PHMOTLC_FILEMODIFIEDTIME 16
#define PHMOTLC_FILESIZE 17
#define PHMOTLC_PARENTBASEADDRESS 18
#define PHMOTLC_MAXIMUM 19
// begin_phapppub
typedef struct _PH_MODULE_NODE
{
PH_TREENEW_NODE Node;
PH_SH_STATE ShState;
PPH_MODULE_ITEM ModuleItem;
struct _PH_MODULE_NODE *Parent;
PPH_LIST Children;
// end_phapppub
PH_STRINGREF TextCache[PHMOTLC_MAXIMUM];
ULONG ValidMask;
PPH_STRING TooltipText;
PPH_STRING SizeText;
WCHAR LoadCountText[PH_INT32_STR_LEN_1];
PPH_STRING TimeStampText;
PPH_STRING LoadTimeText;
PPH_STRING FileModifiedTimeText;
PPH_STRING FileSizeText;
// begin_phapppub
} PH_MODULE_NODE, *PPH_MODULE_NODE;
// end_phapppub
#define PH_MODULE_FLAGS_DYNAMIC_OPTION 1
#define PH_MODULE_FLAGS_MAPPED_OPTION 2
#define PH_MODULE_FLAGS_STATIC_OPTION 3
#define PH_MODULE_FLAGS_SIGNED_OPTION 4
typedef struct _PH_MODULE_LIST_CONTEXT
{
HWND ParentWindowHandle;
HWND TreeNewHandle;
ULONG TreeNewSortColumn;
PH_TN_FILTER_SUPPORT TreeFilterSupport;
PH_SORT_ORDER TreeNewSortOrder;
PH_CM_MANAGER Cm;
union
{
ULONG Flags;
struct
{
ULONG EnableStateHighlighting : 1;
ULONG HideDynamicModules : 1;
ULONG HideMappedModules : 1;
ULONG HideSignedModules : 1;
ULONG HideStaticModules : 1;
ULONG Spare : 27;
};
};
PPH_HASHTABLE NodeHashtable;
PPH_LIST NodeList;
PPH_LIST NodeRootList;
PPH_POINTER_LIST NodeStateList;
HFONT BoldFont;
} PH_MODULE_LIST_CONTEXT, *PPH_MODULE_LIST_CONTEXT;
VOID PhInitializeModuleList(
_In_ HWND ParentWindowHandle,
_In_ HWND TreeNewHandle,
_Out_ PPH_MODULE_LIST_CONTEXT Context
);
VOID PhDeleteModuleList(
_In_ PPH_MODULE_LIST_CONTEXT Context
);
VOID PhLoadSettingsModuleList(
_Inout_ PPH_MODULE_LIST_CONTEXT Context
);
VOID PhSaveSettingsModuleList(
_Inout_ PPH_MODULE_LIST_CONTEXT Context
);
VOID PhSetOptionsModuleList(
_Inout_ PPH_MODULE_LIST_CONTEXT Context,
_In_ ULONG Options
);
PPH_MODULE_NODE PhAddModuleNode(
_Inout_ PPH_MODULE_LIST_CONTEXT Context,
_In_ PPH_MODULE_ITEM ModuleItem,
_In_ ULONG RunId
);
PPH_MODULE_NODE PhFindModuleNode(
_In_ PPH_MODULE_LIST_CONTEXT Context,
_In_ PPH_MODULE_ITEM ModuleItem
);
VOID PhRemoveModuleNode(
_In_ PPH_MODULE_LIST_CONTEXT Context,
_In_ PPH_MODULE_NODE ModuleNode
);
VOID PhUpdateModuleNode(
_In_ PPH_MODULE_LIST_CONTEXT Context,
_In_ PPH_MODULE_NODE ModuleNode
);
VOID PhExpandAllModuleNodes(
_In_ PPH_MODULE_LIST_CONTEXT Context,
_In_ BOOLEAN Expand
);
VOID PhTickModuleNodes(
_In_ PPH_MODULE_LIST_CONTEXT Context
);
PPH_MODULE_ITEM PhGetSelectedModuleItem(
_In_ PPH_MODULE_LIST_CONTEXT Context
);
VOID PhGetSelectedModuleItems(
_In_ PPH_MODULE_LIST_CONTEXT Context,
_Out_ PPH_MODULE_ITEM **Modules,
_Out_ PULONG NumberOfModules
);
VOID PhDeselectAllModuleNodes(
_In_ PPH_MODULE_LIST_CONTEXT Context
);
#endif