Что нового

Некорректная работа _WinAPI_UniqueHardwareID

vivernet

Знающий
Сообщения
32
Репутация
5
Сталкивался ли кто с проблемой работы функции _WinAPI_UniqueHardwareID?

Суть: при генерации HardWareID столкнулся с тем что при выборе различных флагов на основе чего генерировать, получаю один результат, а именно, при выборе флагов:
Код:
_WinAPI_UniqueHardwareID(BitOR($UHID_MB, $UHID_BIOS))


при выборе, результат выходит точно такой же:
Код:
_WinAPI_UniqueHardwareID($UHID_BIOS)


В итоге проверил работу функции вот так:
Код:
ConsoleWrite('MB + BIOS: ' & _WinAPI_UniqueHardwareID(BitOR($UHID_MB, $UHID_BIOS)) & @CRLF)
ConsoleWrite('MB + BIOS: ' & _WinAPI_UniqueHardwareID($UHID_MB + $UHID_BIOS) & @CRLF)
ConsoleWrite('MB:        ' & _WinAPI_UniqueHardwareID($UHID_MB) & @CRLF)
ConsoleWrite('BIOS:      ' & _WinAPI_UniqueHardwareID($UHID_BIOS) & @CRLF)


MB + BIOS: {8FC8482C-9396-F347-3DF6-31DE8B18E82E} MB + BIOS: {8FC8482C-9396-F347-3DF6-31DE8B18E82E} MB: {18AE4D0E-4D2B-BB49-8497-F23AFBD2361E} BIOS: {8FC8482C-9396-F347-3DF6-31DE8B18E82E}

К сожалению не так давно изучаю AutoIt, и возможно этому есть логичное заключение, но по моему я делаю все правильно, и плюс результат должен быть точно различым
Сообщение автоматически объединено:

PS: в теории наверно понял причину, правда если так то плохо что в документации не прописано, судя по константам, инфа о материнской плате используется везде((((
 
Последнее редактирование:

Zmy

Знающий
Сообщения
18
Репутация
6
Потому что, $UHID_MB = 0.
Т.е., оно стоит по-умолчанию. И не важно, какие вы ещё передадите флаги.
Хоть БИОС, хоть процессор, хоть диск, хоть сумму их побитового сложения.
Т.е., результат будует тем же. Этот флаг можно вообще не передавать.
Ведь любое число при сложении с нулём в результате будет равно самому себе.
 
Автор
vivernet

vivernet

Знающий
Сообщения
32
Репутация
5
Потому что, $UHID_MB = 0.
Т.е., оно стоит по-умолчанию. И не важно, какие вы ещё передадите флаги.
Хоть БИОС, хоть процессор, хоть диск, хоть сумму их побитового сложения.
Т.е., результат будует тем же. Этот флаг можно вообще не передавать.
Ведь любое число при сложении с нулём в результате будет равно самому себе.
ну да, на это и обратил внимание вот недавно совсем.... и косяк что в документации об этом ни слова(((
 
Верх