std::string GetHostPlatformInfo()

in common/platform_win.cc [122:151]


std::string GetHostPlatformInfo() {
  SYSTEM_INFO arch_info;
  GetNativeSystemInfo(&arch_info);
  std::string arch;
  switch (arch_info.wProcessorArchitecture) {
    case PROCESSOR_ARCHITECTURE_AMD64:
      arch = "amd64";
      break;
    case PROCESSOR_ARCHITECTURE_ARM:
      arch = "arm";
      break;
    case PROCESSOR_ARCHITECTURE_ARM64:
      arch = "aarch64";
      break;
    case PROCESSOR_ARCHITECTURE_INTEL:
      arch = "x86";
      break;
    default:
      arch = "unknown";
      break;
  }

  absl::StatusOr<SystemVersionInfo> info = GetSystemVersionInfo();
  if (!info.ok()) {
    return absl::StrCat("Windows/unknown-", arch);
  }
  return absl::StrFormat("%s/%d.%d.%s.%s-%s", info->product_name,
                         info->major_version, info->minor_version,
                         info->release_id, info->current_build, arch);
}