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