On Windows ARM64, you can use GetLogicalProcessorInformationExW like x86. To detect hardware features, you can use IsProcessorFeaturePresent. (Check WinNT.h in the latest SDK, because some of them aren't documented on MSDN yet.) Also, the __try trick could also work.
The vendor and processor model are the VendorIdentifier and Identifier values of HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0. (On x86, these registry fields are copies of the vendor and brand string from cpuid. But on ARM, there's no user-mode way to query this.)
Windows ARM64 isn't currently supported.
On Windows ARM64, you can use
GetLogicalProcessorInformationExW
like x86. To detect hardware features, you can useIsProcessorFeaturePresent
. (Check WinNT.h in the latest SDK, because some of them aren't documented on MSDN yet.) Also, the__try
trick could also work.The vendor and processor model are the
VendorIdentifier
andIdentifier
values ofHKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0
. (On x86, these registry fields are copies of the vendor and brand string fromcpuid
. But on ARM, there's no user-mode way to query this.)