Dmitry Timoshkov dmitry@baikal.ru writes:
- switch (sci.Architecture)
- {
- case PROCESSOR_ARCHITECTURE_INTEL:
*native_machine = IMAGE_FILE_MACHINE_I386;
break;
- case PROCESSOR_ARCHITECTURE_ALPHA:
*native_machine = IMAGE_FILE_MACHINE_ALPHA;
break;
- case PROCESSOR_ARCHITECTURE_ARM:
*native_machine = IMAGE_FILE_MACHINE_ARM;
break;
- case PROCESSOR_ARCHITECTURE_IA64:
*native_machine = IMAGE_FILE_MACHINE_IA64;
break;
- case PROCESSOR_ARCHITECTURE_ALPHA64:
*native_machine = IMAGE_FILE_MACHINE_ALPHA64;
break;
- case PROCESSOR_ARCHITECTURE_AMD64:
*native_machine = IMAGE_FILE_MACHINE_AMD64;
break;
- case PROCESSOR_ARCHITECTURE_ARM64:
*native_machine = IMAGE_FILE_MACHINE_ARM64;
break;
- case PROCESSOR_ARCHITECTURE_MIPS:
- case PROCESSOR_ARCHITECTURE_PPC:
- case PROCESSOR_ARCHITECTURE_SHX:
- case PROCESSOR_ARCHITECTURE_MSIL:
- case PROCESSOR_ARCHITECTURE_IA32_ON_WIN64:
- case PROCESSOR_ARCHITECTURE_NEUTRAL:
- case PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64:
- case PROCESSOR_ARCHITECTURE_IA32_ON_ARM64:
- default:
FIXME("unknown architecture %u\n", sci.Architecture);
*native_machine = IMAGE_FILE_MACHINE_UNKNOWN;
break;
- }
What is supposed to happen if the current process is Wow64? Shouldn't it still return the actual host machine? This could use some test cases.