HW_PROFILE_INFO Ошибка Windows 8.1

Я использую этот фрагмент кода для уникальной идентификации компьютеров, но, похоже, он не работает должным образом в Windows 8.1.

HW_PROFILE_INFO HwProfInfo;
if (!GetCurrentHwProfile(&HwProfInfo))
return;

std::wstring ws(HwProfInfo.szHwProfileGuid);
std::string GUID(ws.begin(), ws.end());

printf("%s\n", GUID.c_str());

Каждый компьютер с Windows 8.1 генерирует этот GUID:

{} Bbed3e02-0b41-11e3-8249-806e6f6e6963

Как это возможно или что я делаю не так?

0

Решение

Это связано с профилями оборудования, которые были исключены в Windows 7 (IIRC). Это значение является только дескриптором текущий профиль оборудования если он существует, и его следует использовать только для параметров конфигурации, а не как ключ для уникальной идентификации систем.

Для этой и последующих версий окон она всегда возвращает одинаковые значения; Я ожидаю, что это все еще проходит, чтобы предотвратить неожиданные сбои приложения.

Это значение никогда не должно было использоваться для уникальной идентификации компьютеров, так как оно предназначалось для управления настройками, которые меняются, когда система была установлена ​​/ отсоединена / применен другой профиль.

0

Другие решения


По вопросам рекламы [email protected]