| 645 | typedef BOOL(WINAPI *LPFN_ISWOW64PROCESS)(HANDLE, PBOOL); |
| 646 | |
| 647 | static BOOL IsWow64ProcessHelper(HANDLE hProcess, |
| 648 | PBOOL Wow64Process) |
| 649 | { |
| 650 | #ifdef _X86_ |
| 651 | if (Wow64Process == NULL) { |
| 652 | return FALSE; |
| 653 | } |
| 654 | |
| 655 | // IsWow64Process is not available on all supported versions of Windows. |
| 656 | // |
| 657 | HMODULE hKernel32 = LoadLibraryW(L"KERNEL32.DLL"); |
| 658 | if (hKernel32 == NULL) { |
| 659 | DETOUR_TRACE(("LoadLibraryW failed: %lu\n", GetLastError())); |
| 660 | return FALSE; |
| 661 | } |
| 662 | |
| 663 | LPFN_ISWOW64PROCESS pfnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress( |
| 664 | hKernel32, "IsWow64Process"); |
| 665 | |
| 666 | if (pfnIsWow64Process == NULL) { |
| 667 | DETOUR_TRACE(("GetProcAddress failed: %lu\n", GetLastError())); |
| 668 | return FALSE; |
| 669 | } |
| 670 | return pfnIsWow64Process(hProcess, Wow64Process); |
| 671 | #else |
| 672 | return IsWow64Process(hProcess, Wow64Process); |
| 673 | #endif |
| 674 | } |
| 675 | |
| 676 | ////////////////////////////////////////////////////////////////////////////// |
| 677 | // |
no outgoing calls
no test coverage detected
searching dependent graphs…