]>
Commit | Line | Data |
---|---|---|
e1599b0c XL |
1 | // Copyright © 2015, skdltmxn |
2 | // Licensed under the MIT License <LICENSE.md> | |
3 | //! Defines the process snapshot API | |
4 | FLAGS!{enum PSS_CAPTURE_FLAGS { | |
5 | PSS_CAPTURE_NONE = 0x00000000, | |
6 | PSS_CAPTURE_VA_CLONE = 0x00000001, | |
7 | PSS_CAPTURE_RESERVED_00000002 = 0x00000002, | |
8 | PSS_CAPTURE_HANDLES = 0x00000004, | |
9 | PSS_CAPTURE_HANDLE_NAME_INFORMATION = 0x00000008, | |
10 | PSS_CAPTURE_HANDLE_BASIC_INFORMATION = 0x00000010, | |
11 | PSS_CAPTURE_HANDLE_TYPE_SPECIFIC_INFORMATION = 0x00000020, | |
12 | PSS_CAPTURE_HANDLE_TRACE = 0x00000040, | |
13 | PSS_CAPTURE_THREADS = 0x00000080, | |
14 | PSS_CAPTURE_THREAD_CONTEXT = 0x00000100, | |
15 | PSS_CAPTURE_THREAD_CONTEXT_EXTENDED = 0x00000200, | |
16 | PSS_CAPTURE_RESERVED_00000400 = 0x00000400, | |
17 | PSS_CAPTURE_VA_SPACE = 0x00000800, | |
18 | PSS_CAPTURE_VA_SPACE_SECTION_INFORMATION = 0x00001000, | |
19 | PSS_CREATE_BREAKAWAY_OPTIONAL = 0x04000000, | |
20 | PSS_CREATE_BREAKAWAY = 0x08000000, | |
21 | PSS_CREATE_FORCE_BREAKAWAY = 0x10000000, | |
22 | PSS_CREATE_USE_VM_ALLOCATIONS = 0x20000000, | |
23 | PSS_CREATE_MEASURE_PERFORMANCE = 0x40000000, | |
24 | PSS_CREATE_RELEASE_SECTION = -2147483648i32 as u32, | |
25 | }} | |
26 | ENUM!{enum PSS_QUERY_INFORMATION_CLASS { | |
27 | PSS_QUERY_PROCESS_INFORMATION = 0, | |
28 | PSS_QUERY_VA_CLONE_INFORMATION = 1, | |
29 | PSS_QUERY_AUXILIARY_PAGES_INFORMATION = 2, | |
30 | PSS_QUERY_VA_SPACE_INFORMATION = 3, | |
31 | PSS_QUERY_HANDLE_INFORMATION = 4, | |
32 | PSS_QUERY_THREAD_INFORMATION = 5, | |
33 | PSS_QUERY_HANDLE_TRACE_INFORMATION = 6, | |
34 | PSS_QUERY_PERFORMANCE_COUNTERS = 7, | |
35 | }} | |
36 | ENUM!{enum PSS_WALK_INFORMATION_CLASS { | |
37 | PSS_WALK_AUXILIARY_PAGES = 0, | |
38 | PSS_WALK_VA_SPACE = 1, | |
39 | PSS_WALK_HANDLES = 2, | |
40 | PSS_WALK_THREADS = 3, | |
41 | }} | |
42 | FLAGS!{enum PSS_DUPLICATE_FLAGS { | |
43 | PSS_DUPLICATE_NONE = 0x00, | |
44 | PSS_DUPLICATE_CLOSE_SOURCE = 0x01, | |
45 | }} | |
46 | DECLARE_HANDLE!(HPSS, HPSS__); | |
47 | DECLARE_HANDLE!(HPSSWALK, HPSSWALK__); | |
48 | pub type pAllocRoutine = Option<unsafe extern "system" fn( | |
49 | Context: *mut ::c_void, Size: ::DWORD, | |
50 | ) -> *mut ::c_void>; | |
51 | pub type pFreeRoutine = Option<unsafe extern "system" fn( | |
52 | Context: *mut ::c_void, Address: *mut ::c_void, | |
53 | )>; | |
54 | STRUCT!{nodebug struct PSS_ALLOCATOR { | |
55 | Context: *mut ::c_void, | |
56 | AllocRoutine: pAllocRoutine, | |
57 | FreeRoutine: pFreeRoutine, | |
58 | }} |