Exemplo n.º 1
0
static BOOL MyIsWow64Process(HANDLE hProcess, PBOOL Wow64Process)
{
	typedef BOOL (WINAPI* IsWow64Process_FuncType)(HANDLE hProcess, PBOOL Wow64Process);
	IsWow64Process_FuncType isWow64Process = reinterpret_cast<IsWow64Process_FuncType>(::GetProcAddress(::GetModuleHandle(L"kernel32.dll"), "IsWow64Process"));
	if(isWow64Process == NULL) {
		*Wow64Process = FALSE;
		return TRUE;
	}
	BOOL ret = isWow64Process(hProcess, Wow64Process);
	return ret;
}
Exemplo n.º 2
0
bool Process::_isWow64(HANDLE process)
{
    typedef BOOL (WINAPI *ISWOW64PROCESS)(HANDLE, PBOOL);

    BOOL isWow64 = FALSE;

    HMODULE kernel32 = CWA(kernel32, GetModuleHandleW)(L"kernel32.dll");
    if(kernel32 != NULL)
    {
        ISWOW64PROCESS isWow64Process = (ISWOW64PROCESS)CWA(kernel32, GetProcAddress)(kernel32, "IsWow64Process");
        if(isWow64Process != NULL)
        {
            if(isWow64Process(process, &isWow64) == FALSE)return false;
        }
    }

    return isWow64 ? true : false;
}