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.