Я использую WMI с C++, чтобы получить серийный номер физического диска.
В 64-битной Windows 7 я получаю строку с серийным номером.
В то время как при запуске того же приложения на 64-битной машине Windows XP я получаю шестнадцатеричную строку с обратными значениями каждого символа.
Я заметил 3 различных поведения до сих пор:
- 64-битная строка Windows 7 в правильном порядке, как и ожидалось
- Windows XP 64bit(Machine 1) Шестнадцатеричная строка, обратный порядок байтов
- Windows XP 64bit(Machine 2) Строка в обратном порядке байтов
Я использовал wbemtest.exe и подтвердил, что эти результаты исходят от WMI, а не от моего собственного кода.
Когда я использую DeviceIOControl и получаю информацию SMART, я всегда получаю серийный номер в виде шестнадцатеричной строки с обратным порядком байтов.
Это ожидаемое поведение и как с этим справиться?