| 220 | } |
| 221 | |
| 222 | bool GetExePathFromProcessId(UINT processId, wstring& exePath) |
| 223 | { |
| 224 | HANDLE processHandle = NULL; |
| 225 | TCHAR filename[MAX_PATH]; |
| 226 | |
| 227 | processHandle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processId); |
| 228 | if (processHandle != NULL) { |
| 229 | if (GetModuleFileNameEx(processHandle, NULL, filename, MAX_PATH) == 0) { |
| 230 | return false; |
| 231 | } else { |
| 232 | exePath = filename; |
| 233 | } |
| 234 | CloseHandle(processHandle); |
| 235 | return true; |
| 236 | } else { |
| 237 | return false; |
| 238 | } |
| 239 | } |
| 240 | |
| 241 | bool ValidateNamedPipeConnection(DWORD remote_pid) |
| 242 | { |
no outgoing calls
no test coverage detected