Dmitry Timoshkov <dmitry(a)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. -- Alexandre Julliard julliard(a)winehq.org