Windows 10 for ARM : GetNativeSystemInfo returns wrong wProcessorArchitecture

Ling1201

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".
GetNativeSystemInfo
SYSTEM_INFO

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?
 

Neemobeer

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.
 

Ling1201

New Member
Hi Neemobeer,

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

SYSTEM_INFO systemInfo;
GetNativeSystemInfo(&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.
Thanks.
 
Top