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