]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/Win32/System/Diagnostics/ProcessSnapshotting/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / System / Diagnostics / ProcessSnapshotting / mod.rs
1 #[link(name = "windows")]
2 extern "system" {
3 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
4 #[cfg(feature = "Win32_Foundation")]
5 pub fn PssCaptureSnapshot(processhandle: super::super::super::Foundation::HANDLE, captureflags: PSS_CAPTURE_FLAGS, threadcontextflags: u32, snapshothandle: *mut HPSS) -> u32;
6 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
7 #[cfg(feature = "Win32_Foundation")]
8 pub fn PssDuplicateSnapshot(sourceprocesshandle: super::super::super::Foundation::HANDLE, snapshothandle: HPSS, targetprocesshandle: super::super::super::Foundation::HANDLE, targetsnapshothandle: *mut HPSS, flags: PSS_DUPLICATE_FLAGS) -> u32;
9 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
10 #[cfg(feature = "Win32_Foundation")]
11 pub fn PssFreeSnapshot(processhandle: super::super::super::Foundation::HANDLE, snapshothandle: HPSS) -> u32;
12 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
13 pub fn PssQuerySnapshot(snapshothandle: HPSS, informationclass: PSS_QUERY_INFORMATION_CLASS, buffer: *mut ::core::ffi::c_void, bufferlength: u32) -> u32;
14 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
15 pub fn PssWalkMarkerCreate(allocator: *const PSS_ALLOCATOR, walkmarkerhandle: *mut HPSSWALK) -> u32;
16 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
17 pub fn PssWalkMarkerFree(walkmarkerhandle: HPSSWALK) -> u32;
18 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
19 pub fn PssWalkMarkerGetPosition(walkmarkerhandle: HPSSWALK, position: *mut usize) -> u32;
20 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
21 pub fn PssWalkMarkerSeekToBeginning(walkmarkerhandle: HPSSWALK) -> u32;
22 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
23 pub fn PssWalkMarkerSetPosition(walkmarkerhandle: HPSSWALK, position: usize) -> u32;
24 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
25 pub fn PssWalkSnapshot(snapshothandle: HPSS, informationclass: PSS_WALK_INFORMATION_CLASS, walkmarkerhandle: HPSSWALK, buffer: *mut ::core::ffi::c_void, bufferlength: u32) -> u32;
26 }
27 pub type HPSS = isize;
28 pub type HPSSWALK = isize;
29 #[repr(C)]
30 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
31 pub struct PSS_ALLOCATOR {
32 pub Context: *mut ::core::ffi::c_void,
33 pub AllocRoutine: isize,
34 pub FreeRoutine: isize,
35 }
36 impl ::core::marker::Copy for PSS_ALLOCATOR {}
37 impl ::core::clone::Clone for PSS_ALLOCATOR {
38 fn clone(&self) -> Self {
39 *self
40 }
41 }
42 #[repr(C)]
43 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
44 pub struct PSS_AUXILIARY_PAGES_INFORMATION {
45 pub AuxPagesCaptured: u32,
46 }
47 impl ::core::marker::Copy for PSS_AUXILIARY_PAGES_INFORMATION {}
48 impl ::core::clone::Clone for PSS_AUXILIARY_PAGES_INFORMATION {
49 fn clone(&self) -> Self {
50 *self
51 }
52 }
53 #[repr(C)]
54 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`, `\"Win32_System_Memory\"`*"]
55 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Memory"))]
56 pub struct PSS_AUXILIARY_PAGE_ENTRY {
57 pub Address: *mut ::core::ffi::c_void,
58 pub BasicInformation: super::super::Memory::MEMORY_BASIC_INFORMATION,
59 pub CaptureTime: super::super::super::Foundation::FILETIME,
60 pub PageContents: *mut ::core::ffi::c_void,
61 pub PageSize: u32,
62 }
63 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Memory"))]
64 impl ::core::marker::Copy for PSS_AUXILIARY_PAGE_ENTRY {}
65 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Memory"))]
66 impl ::core::clone::Clone for PSS_AUXILIARY_PAGE_ENTRY {
67 fn clone(&self) -> Self {
68 *self
69 }
70 }
71 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
72 pub type PSS_CAPTURE_FLAGS = u32;
73 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
74 pub const PSS_CAPTURE_NONE: PSS_CAPTURE_FLAGS = 0u32;
75 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
76 pub const PSS_CAPTURE_VA_CLONE: PSS_CAPTURE_FLAGS = 1u32;
77 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
78 pub const PSS_CAPTURE_RESERVED_00000002: PSS_CAPTURE_FLAGS = 2u32;
79 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
80 pub const PSS_CAPTURE_HANDLES: PSS_CAPTURE_FLAGS = 4u32;
81 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
82 pub const PSS_CAPTURE_HANDLE_NAME_INFORMATION: PSS_CAPTURE_FLAGS = 8u32;
83 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
84 pub const PSS_CAPTURE_HANDLE_BASIC_INFORMATION: PSS_CAPTURE_FLAGS = 16u32;
85 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
86 pub const PSS_CAPTURE_HANDLE_TYPE_SPECIFIC_INFORMATION: PSS_CAPTURE_FLAGS = 32u32;
87 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
88 pub const PSS_CAPTURE_HANDLE_TRACE: PSS_CAPTURE_FLAGS = 64u32;
89 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
90 pub const PSS_CAPTURE_THREADS: PSS_CAPTURE_FLAGS = 128u32;
91 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
92 pub const PSS_CAPTURE_THREAD_CONTEXT: PSS_CAPTURE_FLAGS = 256u32;
93 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
94 pub const PSS_CAPTURE_THREAD_CONTEXT_EXTENDED: PSS_CAPTURE_FLAGS = 512u32;
95 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
96 pub const PSS_CAPTURE_RESERVED_00000400: PSS_CAPTURE_FLAGS = 1024u32;
97 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
98 pub const PSS_CAPTURE_VA_SPACE: PSS_CAPTURE_FLAGS = 2048u32;
99 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
100 pub const PSS_CAPTURE_VA_SPACE_SECTION_INFORMATION: PSS_CAPTURE_FLAGS = 4096u32;
101 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
102 pub const PSS_CAPTURE_IPT_TRACE: PSS_CAPTURE_FLAGS = 8192u32;
103 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
104 pub const PSS_CAPTURE_RESERVED_00004000: PSS_CAPTURE_FLAGS = 16384u32;
105 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
106 pub const PSS_CREATE_BREAKAWAY_OPTIONAL: PSS_CAPTURE_FLAGS = 67108864u32;
107 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
108 pub const PSS_CREATE_BREAKAWAY: PSS_CAPTURE_FLAGS = 134217728u32;
109 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
110 pub const PSS_CREATE_FORCE_BREAKAWAY: PSS_CAPTURE_FLAGS = 268435456u32;
111 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
112 pub const PSS_CREATE_USE_VM_ALLOCATIONS: PSS_CAPTURE_FLAGS = 536870912u32;
113 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
114 pub const PSS_CREATE_MEASURE_PERFORMANCE: PSS_CAPTURE_FLAGS = 1073741824u32;
115 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
116 pub const PSS_CREATE_RELEASE_SECTION: PSS_CAPTURE_FLAGS = 2147483648u32;
117 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
118 pub type PSS_DUPLICATE_FLAGS = u32;
119 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
120 pub const PSS_DUPLICATE_NONE: PSS_DUPLICATE_FLAGS = 0u32;
121 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
122 pub const PSS_DUPLICATE_CLOSE_SOURCE: PSS_DUPLICATE_FLAGS = 1u32;
123 #[repr(C)]
124 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
125 #[cfg(feature = "Win32_Foundation")]
126 pub struct PSS_HANDLE_ENTRY {
127 pub Handle: super::super::super::Foundation::HANDLE,
128 pub Flags: PSS_HANDLE_FLAGS,
129 pub ObjectType: PSS_OBJECT_TYPE,
130 pub CaptureTime: super::super::super::Foundation::FILETIME,
131 pub Attributes: u32,
132 pub GrantedAccess: u32,
133 pub HandleCount: u32,
134 pub PointerCount: u32,
135 pub PagedPoolCharge: u32,
136 pub NonPagedPoolCharge: u32,
137 pub CreationTime: super::super::super::Foundation::FILETIME,
138 pub TypeNameLength: u16,
139 pub TypeName: ::windows_sys::core::PCWSTR,
140 pub ObjectNameLength: u16,
141 pub ObjectName: ::windows_sys::core::PCWSTR,
142 pub TypeSpecificInformation: PSS_HANDLE_ENTRY_0,
143 }
144 #[cfg(feature = "Win32_Foundation")]
145 impl ::core::marker::Copy for PSS_HANDLE_ENTRY {}
146 #[cfg(feature = "Win32_Foundation")]
147 impl ::core::clone::Clone for PSS_HANDLE_ENTRY {
148 fn clone(&self) -> Self {
149 *self
150 }
151 }
152 #[repr(C)]
153 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
154 #[cfg(feature = "Win32_Foundation")]
155 pub union PSS_HANDLE_ENTRY_0 {
156 pub Process: PSS_HANDLE_ENTRY_0_2,
157 pub Thread: PSS_HANDLE_ENTRY_0_5,
158 pub Mutant: PSS_HANDLE_ENTRY_0_1,
159 pub Event: PSS_HANDLE_ENTRY_0_0,
160 pub Section: PSS_HANDLE_ENTRY_0_3,
161 pub Semaphore: PSS_HANDLE_ENTRY_0_4,
162 }
163 #[cfg(feature = "Win32_Foundation")]
164 impl ::core::marker::Copy for PSS_HANDLE_ENTRY_0 {}
165 #[cfg(feature = "Win32_Foundation")]
166 impl ::core::clone::Clone for PSS_HANDLE_ENTRY_0 {
167 fn clone(&self) -> Self {
168 *self
169 }
170 }
171 #[repr(C)]
172 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
173 #[cfg(feature = "Win32_Foundation")]
174 pub struct PSS_HANDLE_ENTRY_0_0 {
175 pub ManualReset: super::super::super::Foundation::BOOL,
176 pub Signaled: super::super::super::Foundation::BOOL,
177 }
178 #[cfg(feature = "Win32_Foundation")]
179 impl ::core::marker::Copy for PSS_HANDLE_ENTRY_0_0 {}
180 #[cfg(feature = "Win32_Foundation")]
181 impl ::core::clone::Clone for PSS_HANDLE_ENTRY_0_0 {
182 fn clone(&self) -> Self {
183 *self
184 }
185 }
186 #[repr(C)]
187 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
188 #[cfg(feature = "Win32_Foundation")]
189 pub struct PSS_HANDLE_ENTRY_0_1 {
190 pub CurrentCount: i32,
191 pub Abandoned: super::super::super::Foundation::BOOL,
192 pub OwnerProcessId: u32,
193 pub OwnerThreadId: u32,
194 }
195 #[cfg(feature = "Win32_Foundation")]
196 impl ::core::marker::Copy for PSS_HANDLE_ENTRY_0_1 {}
197 #[cfg(feature = "Win32_Foundation")]
198 impl ::core::clone::Clone for PSS_HANDLE_ENTRY_0_1 {
199 fn clone(&self) -> Self {
200 *self
201 }
202 }
203 #[repr(C)]
204 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
205 #[cfg(feature = "Win32_Foundation")]
206 pub struct PSS_HANDLE_ENTRY_0_2 {
207 pub ExitStatus: u32,
208 pub PebBaseAddress: *mut ::core::ffi::c_void,
209 pub AffinityMask: usize,
210 pub BasePriority: i32,
211 pub ProcessId: u32,
212 pub ParentProcessId: u32,
213 pub Flags: u32,
214 }
215 #[cfg(feature = "Win32_Foundation")]
216 impl ::core::marker::Copy for PSS_HANDLE_ENTRY_0_2 {}
217 #[cfg(feature = "Win32_Foundation")]
218 impl ::core::clone::Clone for PSS_HANDLE_ENTRY_0_2 {
219 fn clone(&self) -> Self {
220 *self
221 }
222 }
223 #[repr(C)]
224 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
225 #[cfg(feature = "Win32_Foundation")]
226 pub struct PSS_HANDLE_ENTRY_0_3 {
227 pub BaseAddress: *mut ::core::ffi::c_void,
228 pub AllocationAttributes: u32,
229 pub MaximumSize: i64,
230 }
231 #[cfg(feature = "Win32_Foundation")]
232 impl ::core::marker::Copy for PSS_HANDLE_ENTRY_0_3 {}
233 #[cfg(feature = "Win32_Foundation")]
234 impl ::core::clone::Clone for PSS_HANDLE_ENTRY_0_3 {
235 fn clone(&self) -> Self {
236 *self
237 }
238 }
239 #[repr(C)]
240 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
241 #[cfg(feature = "Win32_Foundation")]
242 pub struct PSS_HANDLE_ENTRY_0_4 {
243 pub CurrentCount: i32,
244 pub MaximumCount: i32,
245 }
246 #[cfg(feature = "Win32_Foundation")]
247 impl ::core::marker::Copy for PSS_HANDLE_ENTRY_0_4 {}
248 #[cfg(feature = "Win32_Foundation")]
249 impl ::core::clone::Clone for PSS_HANDLE_ENTRY_0_4 {
250 fn clone(&self) -> Self {
251 *self
252 }
253 }
254 #[repr(C)]
255 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
256 #[cfg(feature = "Win32_Foundation")]
257 pub struct PSS_HANDLE_ENTRY_0_5 {
258 pub ExitStatus: u32,
259 pub TebBaseAddress: *mut ::core::ffi::c_void,
260 pub ProcessId: u32,
261 pub ThreadId: u32,
262 pub AffinityMask: usize,
263 pub Priority: i32,
264 pub BasePriority: i32,
265 pub Win32StartAddress: *mut ::core::ffi::c_void,
266 }
267 #[cfg(feature = "Win32_Foundation")]
268 impl ::core::marker::Copy for PSS_HANDLE_ENTRY_0_5 {}
269 #[cfg(feature = "Win32_Foundation")]
270 impl ::core::clone::Clone for PSS_HANDLE_ENTRY_0_5 {
271 fn clone(&self) -> Self {
272 *self
273 }
274 }
275 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
276 pub type PSS_HANDLE_FLAGS = u32;
277 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
278 pub const PSS_HANDLE_NONE: PSS_HANDLE_FLAGS = 0u32;
279 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
280 pub const PSS_HANDLE_HAVE_TYPE: PSS_HANDLE_FLAGS = 1u32;
281 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
282 pub const PSS_HANDLE_HAVE_NAME: PSS_HANDLE_FLAGS = 2u32;
283 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
284 pub const PSS_HANDLE_HAVE_BASIC_INFORMATION: PSS_HANDLE_FLAGS = 4u32;
285 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
286 pub const PSS_HANDLE_HAVE_TYPE_SPECIFIC_INFORMATION: PSS_HANDLE_FLAGS = 8u32;
287 #[repr(C)]
288 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
289 pub struct PSS_HANDLE_INFORMATION {
290 pub HandlesCaptured: u32,
291 }
292 impl ::core::marker::Copy for PSS_HANDLE_INFORMATION {}
293 impl ::core::clone::Clone for PSS_HANDLE_INFORMATION {
294 fn clone(&self) -> Self {
295 *self
296 }
297 }
298 #[repr(C)]
299 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
300 #[cfg(feature = "Win32_Foundation")]
301 pub struct PSS_HANDLE_TRACE_INFORMATION {
302 pub SectionHandle: super::super::super::Foundation::HANDLE,
303 pub Size: u32,
304 }
305 #[cfg(feature = "Win32_Foundation")]
306 impl ::core::marker::Copy for PSS_HANDLE_TRACE_INFORMATION {}
307 #[cfg(feature = "Win32_Foundation")]
308 impl ::core::clone::Clone for PSS_HANDLE_TRACE_INFORMATION {
309 fn clone(&self) -> Self {
310 *self
311 }
312 }
313 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
314 pub type PSS_OBJECT_TYPE = i32;
315 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
316 pub const PSS_OBJECT_TYPE_UNKNOWN: PSS_OBJECT_TYPE = 0i32;
317 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
318 pub const PSS_OBJECT_TYPE_PROCESS: PSS_OBJECT_TYPE = 1i32;
319 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
320 pub const PSS_OBJECT_TYPE_THREAD: PSS_OBJECT_TYPE = 2i32;
321 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
322 pub const PSS_OBJECT_TYPE_MUTANT: PSS_OBJECT_TYPE = 3i32;
323 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
324 pub const PSS_OBJECT_TYPE_EVENT: PSS_OBJECT_TYPE = 4i32;
325 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
326 pub const PSS_OBJECT_TYPE_SECTION: PSS_OBJECT_TYPE = 5i32;
327 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
328 pub const PSS_OBJECT_TYPE_SEMAPHORE: PSS_OBJECT_TYPE = 6i32;
329 #[repr(C)]
330 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
331 pub struct PSS_PERFORMANCE_COUNTERS {
332 pub TotalCycleCount: u64,
333 pub TotalWallClockPeriod: u64,
334 pub VaCloneCycleCount: u64,
335 pub VaCloneWallClockPeriod: u64,
336 pub VaSpaceCycleCount: u64,
337 pub VaSpaceWallClockPeriod: u64,
338 pub AuxPagesCycleCount: u64,
339 pub AuxPagesWallClockPeriod: u64,
340 pub HandlesCycleCount: u64,
341 pub HandlesWallClockPeriod: u64,
342 pub ThreadsCycleCount: u64,
343 pub ThreadsWallClockPeriod: u64,
344 }
345 impl ::core::marker::Copy for PSS_PERFORMANCE_COUNTERS {}
346 impl ::core::clone::Clone for PSS_PERFORMANCE_COUNTERS {
347 fn clone(&self) -> Self {
348 *self
349 }
350 }
351 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
352 pub const PSS_PERF_RESOLUTION: u32 = 1000000u32;
353 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
354 pub type PSS_PROCESS_FLAGS = u32;
355 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
356 pub const PSS_PROCESS_FLAGS_NONE: PSS_PROCESS_FLAGS = 0u32;
357 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
358 pub const PSS_PROCESS_FLAGS_PROTECTED: PSS_PROCESS_FLAGS = 1u32;
359 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
360 pub const PSS_PROCESS_FLAGS_WOW64: PSS_PROCESS_FLAGS = 2u32;
361 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
362 pub const PSS_PROCESS_FLAGS_RESERVED_03: PSS_PROCESS_FLAGS = 4u32;
363 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
364 pub const PSS_PROCESS_FLAGS_RESERVED_04: PSS_PROCESS_FLAGS = 8u32;
365 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
366 pub const PSS_PROCESS_FLAGS_FROZEN: PSS_PROCESS_FLAGS = 16u32;
367 #[repr(C)]
368 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
369 #[cfg(feature = "Win32_Foundation")]
370 pub struct PSS_PROCESS_INFORMATION {
371 pub ExitStatus: u32,
372 pub PebBaseAddress: *mut ::core::ffi::c_void,
373 pub AffinityMask: usize,
374 pub BasePriority: i32,
375 pub ProcessId: u32,
376 pub ParentProcessId: u32,
377 pub Flags: PSS_PROCESS_FLAGS,
378 pub CreateTime: super::super::super::Foundation::FILETIME,
379 pub ExitTime: super::super::super::Foundation::FILETIME,
380 pub KernelTime: super::super::super::Foundation::FILETIME,
381 pub UserTime: super::super::super::Foundation::FILETIME,
382 pub PriorityClass: u32,
383 pub PeakVirtualSize: usize,
384 pub VirtualSize: usize,
385 pub PageFaultCount: u32,
386 pub PeakWorkingSetSize: usize,
387 pub WorkingSetSize: usize,
388 pub QuotaPeakPagedPoolUsage: usize,
389 pub QuotaPagedPoolUsage: usize,
390 pub QuotaPeakNonPagedPoolUsage: usize,
391 pub QuotaNonPagedPoolUsage: usize,
392 pub PagefileUsage: usize,
393 pub PeakPagefileUsage: usize,
394 pub PrivateUsage: usize,
395 pub ExecuteFlags: u32,
396 pub ImageFileName: [u16; 260],
397 }
398 #[cfg(feature = "Win32_Foundation")]
399 impl ::core::marker::Copy for PSS_PROCESS_INFORMATION {}
400 #[cfg(feature = "Win32_Foundation")]
401 impl ::core::clone::Clone for PSS_PROCESS_INFORMATION {
402 fn clone(&self) -> Self {
403 *self
404 }
405 }
406 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
407 pub type PSS_QUERY_INFORMATION_CLASS = i32;
408 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
409 pub const PSS_QUERY_PROCESS_INFORMATION: PSS_QUERY_INFORMATION_CLASS = 0i32;
410 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
411 pub const PSS_QUERY_VA_CLONE_INFORMATION: PSS_QUERY_INFORMATION_CLASS = 1i32;
412 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
413 pub const PSS_QUERY_AUXILIARY_PAGES_INFORMATION: PSS_QUERY_INFORMATION_CLASS = 2i32;
414 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
415 pub const PSS_QUERY_VA_SPACE_INFORMATION: PSS_QUERY_INFORMATION_CLASS = 3i32;
416 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
417 pub const PSS_QUERY_HANDLE_INFORMATION: PSS_QUERY_INFORMATION_CLASS = 4i32;
418 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
419 pub const PSS_QUERY_THREAD_INFORMATION: PSS_QUERY_INFORMATION_CLASS = 5i32;
420 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
421 pub const PSS_QUERY_HANDLE_TRACE_INFORMATION: PSS_QUERY_INFORMATION_CLASS = 6i32;
422 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
423 pub const PSS_QUERY_PERFORMANCE_COUNTERS: PSS_QUERY_INFORMATION_CLASS = 7i32;
424 #[repr(C)]
425 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Debug\"`, `\"Win32_System_Kernel\"`*"]
426 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug", feature = "Win32_System_Kernel"))]
427 pub struct PSS_THREAD_ENTRY {
428 pub ExitStatus: u32,
429 pub TebBaseAddress: *mut ::core::ffi::c_void,
430 pub ProcessId: u32,
431 pub ThreadId: u32,
432 pub AffinityMask: usize,
433 pub Priority: i32,
434 pub BasePriority: i32,
435 pub LastSyscallFirstArgument: *mut ::core::ffi::c_void,
436 pub LastSyscallNumber: u16,
437 pub CreateTime: super::super::super::Foundation::FILETIME,
438 pub ExitTime: super::super::super::Foundation::FILETIME,
439 pub KernelTime: super::super::super::Foundation::FILETIME,
440 pub UserTime: super::super::super::Foundation::FILETIME,
441 pub Win32StartAddress: *mut ::core::ffi::c_void,
442 pub CaptureTime: super::super::super::Foundation::FILETIME,
443 pub Flags: PSS_THREAD_FLAGS,
444 pub SuspendCount: u16,
445 pub SizeOfContextRecord: u16,
446 pub ContextRecord: *mut super::Debug::CONTEXT,
447 }
448 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug", feature = "Win32_System_Kernel"))]
449 impl ::core::marker::Copy for PSS_THREAD_ENTRY {}
450 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug", feature = "Win32_System_Kernel"))]
451 impl ::core::clone::Clone for PSS_THREAD_ENTRY {
452 fn clone(&self) -> Self {
453 *self
454 }
455 }
456 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
457 pub type PSS_THREAD_FLAGS = u32;
458 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
459 pub const PSS_THREAD_FLAGS_NONE: PSS_THREAD_FLAGS = 0u32;
460 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
461 pub const PSS_THREAD_FLAGS_TERMINATED: PSS_THREAD_FLAGS = 1u32;
462 #[repr(C)]
463 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
464 pub struct PSS_THREAD_INFORMATION {
465 pub ThreadsCaptured: u32,
466 pub ContextLength: u32,
467 }
468 impl ::core::marker::Copy for PSS_THREAD_INFORMATION {}
469 impl ::core::clone::Clone for PSS_THREAD_INFORMATION {
470 fn clone(&self) -> Self {
471 *self
472 }
473 }
474 #[repr(C)]
475 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`, `\"Win32_Foundation\"`*"]
476 #[cfg(feature = "Win32_Foundation")]
477 pub struct PSS_VA_CLONE_INFORMATION {
478 pub VaCloneHandle: super::super::super::Foundation::HANDLE,
479 }
480 #[cfg(feature = "Win32_Foundation")]
481 impl ::core::marker::Copy for PSS_VA_CLONE_INFORMATION {}
482 #[cfg(feature = "Win32_Foundation")]
483 impl ::core::clone::Clone for PSS_VA_CLONE_INFORMATION {
484 fn clone(&self) -> Self {
485 *self
486 }
487 }
488 #[repr(C)]
489 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
490 pub struct PSS_VA_SPACE_ENTRY {
491 pub BaseAddress: *mut ::core::ffi::c_void,
492 pub AllocationBase: *mut ::core::ffi::c_void,
493 pub AllocationProtect: u32,
494 pub RegionSize: usize,
495 pub State: u32,
496 pub Protect: u32,
497 pub Type: u32,
498 pub TimeDateStamp: u32,
499 pub SizeOfImage: u32,
500 pub ImageBase: *mut ::core::ffi::c_void,
501 pub CheckSum: u32,
502 pub MappedFileNameLength: u16,
503 pub MappedFileName: ::windows_sys::core::PCWSTR,
504 }
505 impl ::core::marker::Copy for PSS_VA_SPACE_ENTRY {}
506 impl ::core::clone::Clone for PSS_VA_SPACE_ENTRY {
507 fn clone(&self) -> Self {
508 *self
509 }
510 }
511 #[repr(C)]
512 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
513 pub struct PSS_VA_SPACE_INFORMATION {
514 pub RegionCount: u32,
515 }
516 impl ::core::marker::Copy for PSS_VA_SPACE_INFORMATION {}
517 impl ::core::clone::Clone for PSS_VA_SPACE_INFORMATION {
518 fn clone(&self) -> Self {
519 *self
520 }
521 }
522 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
523 pub type PSS_WALK_INFORMATION_CLASS = i32;
524 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
525 pub const PSS_WALK_AUXILIARY_PAGES: PSS_WALK_INFORMATION_CLASS = 0i32;
526 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
527 pub const PSS_WALK_VA_SPACE: PSS_WALK_INFORMATION_CLASS = 1i32;
528 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
529 pub const PSS_WALK_HANDLES: PSS_WALK_INFORMATION_CLASS = 2i32;
530 #[doc = "*Required features: `\"Win32_System_Diagnostics_ProcessSnapshotting\"`*"]
531 pub const PSS_WALK_THREADS: PSS_WALK_INFORMATION_CLASS = 3i32;