Process Hacker
ntpfapi.h
Go to the documentation of this file.
1 #ifndef _NTPFAPI_H
2 #define _NTPFAPI_H
3 
4 // begin_private
5 
6 // Prefetch
7 
8 typedef enum _PF_BOOT_PHASE_ID
9 {
21 
22 typedef enum _PF_ENABLE_STATUS
23 {
29 
30 typedef struct _PF_TRACE_LIMITS
31 {
32  ULONG MaxNumPages;
34  LONGLONG TimerPeriod;
36 
38 {
43  WCHAR RootDirPath[32];
46 
47 #define PF_BOOT_CONTROL_VERSION 1
48 
49 typedef struct _PF_BOOT_CONTROL
50 {
51  ULONG Version;
54 
56 {
57  PrefetcherRetrieveTrace = 1, // q: CHAR[]
58  PrefetcherSystemParameters, // q: PF_SYSTEM_PREFETCH_PARAMETERS
59  PrefetcherBootPhase, // s: PF_BOOT_PHASE_ID
61  PrefetcherBootControl // s: PF_BOOT_CONTROL
63 
64 #define PREFETCHER_INFORMATION_VERSION 23 // rev
65 #define PREFETCHER_INFORMATION_MAGIC ('kuhC') // rev
66 
68 {
69  ULONG Version;
70  ULONG Magic;
75 
76 // Superfetch
77 
79 {
81  ULONG BootID;
87 
88 #define PF_PFN_PRIO_REQUEST_VERSION 1
89 #define PF_PFN_PRIO_REQUEST_QUERY_MEMORY_LIST 0x1
90 #define PF_PFN_PRIO_REQUEST_VALID_FLAGS 0x1
91 
92 typedef struct _PF_PFN_PRIO_REQUEST
93 {
94  ULONG Version;
95  ULONG RequestFlags;
96  ULONG PfnCount;
100 
102 {
108 
110 {
112  union
113  {
114  ULONG_PTR SessionId;
115  ULONG_PTR ProcessId;
116  };
120 
121 typedef struct _PF_PRIVSOURCE_INFO
122 {
124  union
125  {
126  ULONG_PTR EProcess;
127  ULONG_PTR GlobalVA;
128  };
131  ULONG SessionID;
132  CHAR ImageName[16];
134 
135 #define PF_PRIVSOURCE_QUERY_REQUEST_VERSION 3
136 
138 {
139  ULONG Version;
140  ULONG InfoCount;
143 
145 {
152 
153 #define PF_SCENARIO_PHASE_INFO_VERSION 4
154 
156 {
157  ULONG Version;
159  ULONG PhaseId;
161  ULONG Flags;
162  ULONG FUSUserId;
164 
165 typedef struct _PF_MEMORY_LIST_NODE
166 {
167  ULONGLONG Node : 8;
168  ULONGLONG Spare : 56;
172  ULONGLONG FreePageCount;
173  ULONGLONG ModifiedPageCount;
175 
176 #define PF_MEMORY_LIST_INFO_VERSION 1
177 
178 typedef struct _PF_MEMORY_LIST_INFO
179 {
180  ULONG Version;
181  ULONG Size;
182  ULONG NodeCount;
185 
187 {
188  ULONG BasePfn;
189  ULONG PageCount;
191 
192 #define PF_PHYSICAL_MEMORY_RANGE_INFO_VERSION 1
193 
195 {
196  ULONG Version;
197  ULONG RangeCount;
200 
201 // begin_rev
202 
203 #define PF_REPURPOSED_BY_PREFETCH_INFO_VERSION 1
204 
206 {
207  ULONG Version;
210 
211 // end_rev
212 
214 {
215  SuperfetchRetrieveTrace = 1, // q: CHAR[]
216  SuperfetchSystemParameters, // q: PF_SYSTEM_SUPERFETCH_PARAMETERS
220  SuperfetchPfnQuery, // q: PF_PFN_PRIO_REQUEST
222  SuperfetchPrivSourceQuery, // q: PF_PRIVSOURCE_QUERY_REQUEST
226  SuperfetchScenarioQuery, // q: PF_SCENARIO_PHASE_INFO
230  SuperfetchMemoryListQuery, // q: PF_MEMORY_LIST_INFO
231  SuperfetchMemoryRangesQuery, // q: PF_PHYSICAL_MEMORY_RANGE_INFO
234  SuperfetchRepurposedByPrefetch, // q: PF_REPURPOSED_BY_PREFETCH_INFO // rev
237 
238 #define SUPERFETCH_INFORMATION_VERSION 45 // rev
239 #define SUPERFETCH_INFORMATION_MAGIC ('kuhC') // rev
240 
242 {
243  ULONG Version;
244  ULONG Magic;
246  PVOID Data;
247  ULONG Length;
249 
250 // end_private
251 
252 #endif