I'm writing an COM-Addin for PowerPoint and need to find out the exact process architecture of the host.
On Windows 11 for ARM, it's possible to run an old x64 PowerPoint (this is reported in Task Manger as "x64"), or the upcoming 64-Bit Office for Windows on ARM ("ARM64 (x64 compatible)" in Task Manager).
From my plugin I want to distinguish the two.
IsWow64Process2 yields 0 for process machine and IMAGE_FILE_MACHINE_ARM64 ( 0xAA64) for native machine in both cases.
GetProcessInformation with ProcessMachineTypeInfo (as described here) yields IMAGE_FILE_MACHINE_AMD64 ( 0x8664) in both cases.
ImageNTHeader (as described here) also yields IMAGE_FILE_MACHINE_AMD64 ( 0x8664) in both cases.
Yet there must be some way to find out programmatically, the task manager tells them apart in its detail view.