Process Hacker
symprvp.h
Go to the documentation of this file.
1 #ifndef _PH_SYMPRVP_H
2 #define _PH_SYMPRVP_H
3 
4 typedef BOOL (WINAPI *_SymInitialize)(
5  _In_ HANDLE hProcess,
6  _In_opt_ PCSTR UserSearchPath,
7  _In_ BOOL fInvadeProcess
8  );
9 
10 typedef BOOL (WINAPI *_SymCleanup)(
11  _In_ HANDLE hProcess
12  );
13 
14 typedef BOOL (WINAPI *_SymEnumSymbols)(
15  _In_ HANDLE hProcess,
16  _In_ ULONG64 BaseOfDll,
17  _In_opt_ PCSTR Mask,
18  _In_ PSYM_ENUMERATESYMBOLS_CALLBACK EnumSymbolsCallback,
19  _In_opt_ const PVOID UserContext
20  );
21 
22 typedef BOOL (WINAPI *_SymEnumSymbolsW)(
23  _In_ HANDLE hProcess,
24  _In_ ULONG64 BaseOfDll,
25  _In_opt_ PCWSTR Mask,
26  _In_ PSYM_ENUMERATESYMBOLS_CALLBACKW EnumSymbolsCallback,
27  _In_opt_ const PVOID UserContext
28  );
29 
30 typedef BOOL (WINAPI *_SymFromAddr)(
31  _In_ HANDLE hProcess,
32  _In_ DWORD64 Address,
33  _Out_opt_ PDWORD64 Displacement,
34  _Inout_ PSYMBOL_INFO Symbol
35  );
36 
37 typedef BOOL (WINAPI *_SymFromAddrW)(
38  _In_ HANDLE hProcess,
39  _In_ DWORD64 Address,
40  _Out_opt_ PDWORD64 Displacement,
41  _Inout_ PSYMBOL_INFOW Symbol
42  );
43 
44 typedef BOOL (WINAPI *_SymFromName)(
45  _In_ HANDLE hProcess,
46  _In_ PCSTR Name,
47  _Inout_ PSYMBOL_INFO Symbol
48  );
49 
50 typedef BOOL (WINAPI *_SymFromNameW)(
51  _In_ HANDLE hProcess,
52  _In_ PCWSTR Name,
53  _Inout_ PSYMBOL_INFOW Symbol
54  );
55 
56 typedef BOOL (WINAPI *_SymGetLineFromAddr64)(
57  _In_ HANDLE hProcess,
58  _In_ DWORD64 dwAddr,
59  _Out_ PDWORD pdwDisplacement,
60  _Out_ PIMAGEHLP_LINE64 Line
61  );
62 
63 typedef BOOL (WINAPI *_SymGetLineFromAddrW64)(
64  _In_ HANDLE hProcess,
65  _In_ DWORD64 dwAddr,
66  _Out_ PDWORD pdwDisplacement,
67  _Out_ PIMAGEHLP_LINEW64 Line
68  );
69 
70 typedef DWORD64 (WINAPI *_SymLoadModule64)(
71  _In_ HANDLE hProcess,
72  _In_opt_ HANDLE hFile,
73  _In_opt_ PCSTR ImageName,
74  _In_opt_ PCSTR ModuleName,
75  _In_ DWORD64 BaseOfDll,
76  _In_ DWORD SizeOfDll
77  );
78 
79 typedef DWORD64 (WINAPI *_SymLoadModuleExW)(
80  _In_ HANDLE hProcess,
81  _In_ HANDLE hFile,
82  _In_ PCWSTR ImageName,
83  _In_ PCWSTR ModuleName,
84  _In_ DWORD64 BaseOfDll,
85  _In_ DWORD DllSize,
86  _In_ PMODLOAD_DATA Data,
87  _In_ DWORD Flags
88  );
89 
90 typedef DWORD (WINAPI *_SymGetOptions)();
91 
92 typedef DWORD (WINAPI *_SymSetOptions)(
93  _In_ DWORD SymOptions
94  );
95 
96 typedef BOOL (WINAPI *_SymGetSearchPath)(
97  _In_ HANDLE hProcess,
98  _Out_ PSTR SearchPath,
99  _In_ DWORD SearchPathLength
100  );
101 
102 typedef BOOL (WINAPI *_SymGetSearchPathW)(
103  _In_ HANDLE hProcess,
104  _Out_ PWSTR SearchPath,
105  _In_ DWORD SearchPathLength
106  );
107 
108 typedef BOOL (WINAPI *_SymSetSearchPath)(
109  _In_ HANDLE hProcess,
110  _In_opt_ PCSTR SearchPath
111  );
112 
113 typedef BOOL (WINAPI *_SymSetSearchPathW)(
114  _In_ HANDLE hProcess,
115  _In_opt_ PCWSTR SearchPath
116  );
117 
118 typedef BOOL (WINAPI *_SymUnloadModule64)(
119  _In_ HANDLE hProcess,
120  _In_ DWORD64 BaseOfDll
121  );
122 
123 typedef PVOID (WINAPI *_SymFunctionTableAccess64)(
124  _In_ HANDLE hProcess,
125  _In_ DWORD64 AddrBase
126  );
127 
128 typedef DWORD64 (WINAPI *_SymGetModuleBase64)(
129  _In_ HANDLE hProcess,
130  _In_ DWORD64 dwAddr
131  );
132 
133 typedef BOOL (WINAPI *_SymRegisterCallbackW64)(
134  _In_ HANDLE hProcess,
135  _In_ PSYMBOL_REGISTERED_CALLBACK64 CallbackFunction,
136  _In_ ULONG64 UserContext
137  );
138 
139 typedef BOOL (WINAPI *_StackWalk64)(
140  _In_ DWORD MachineType,
141  _In_ HANDLE hProcess,
142  _In_ HANDLE hThread,
143  _Inout_ LPSTACKFRAME64 StackFrame,
144  _Inout_ PVOID ContextRecord,
145  _In_opt_ PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine,
146  _In_opt_ PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine,
147  _In_opt_ PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine,
148  _In_opt_ PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress
149  );
150 
151 typedef BOOL (WINAPI *_MiniDumpWriteDump)(
152  _In_ HANDLE hProcess,
153  _In_ DWORD ProcessId,
154  _In_ HANDLE hFile,
155  _In_ MINIDUMP_TYPE DumpType,
156  _In_ PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
157  _In_ PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
158  _In_ PMINIDUMP_CALLBACK_INFORMATION CallbackParam
159  );
160 
161 typedef UINT_PTR (CALLBACK *_SymbolServerGetOptions)(
162  VOID
163  );
164 
165 typedef BOOL (CALLBACK *_SymbolServerSetOptions)(
166  _In_ UINT_PTR options,
167  _In_ ULONG64 data
168  );
169 
170 #endif