Windows 10 for ARM : GetNativeSystemInfo returns wrong wProcessorArchitecture


New Member
I need to detect the ProcessorArchitecture in UWP to figure out if it is run in ARM platform to do some function filter.

So I tried to use Pinvoke to call GetNativeSystemInfo api (Desktop application) and run it in windows 10 for ARM.

It returns wrong wProcessorArchitecture as "PROCESSOR_ARCHITECTURE_INTEL", while it should be "PROCESSOR_ARCHITECTURE_ARM".

OS version: 10.0.16299.15

Does the GetNativeSystemInfo api not supported perfectly in windows 10 for ARM?
Any other method to get the accurate ProcessorArchitecture in UWP in windows 10 for ARM?


Windows Forum Team
Staff member
I'm not sure if it will return something different, but you want to use the WindowsApp.lib for UWP applications it is specifically for UWP to call exported Win32 API functions

To answer your other question, yes GetNativeSystemInfo does support ARM.


New Member
Hi Neemobeer,

So I tried to use native C++ to call GetNativeSystemInfo API today,

SYSTEM_INFO systemInfo;
cout << "wProcessorArchitecture: " << systemInfo.wProcessorArchitecture << endl;

the output was wProcessorArchitecture: 0

I am expecting it to return 5 instead of 0. one thing to notice is that I compiled the code with x86
tried to compile with ARM but vs won't let me.
so is it caused by the target platform?
hope you can give some advise.