WMI Win32_PhysicalMedia SerialNumber иногда является шестнадцатеричным, а иногда в обратном порядке байтов

Я использую WMI с C++, чтобы получить серийный номер физического диска.

На Windows 7 64bit я получаю строку с серийным номером.

В то время как при запуске того же приложения на 64-битной машине Windows XP я получаю шестнадцатеричную строку со значениями каждого символа в обратном порядке.

До сих пор я заметил 3 разных поведения:

  1. Windows 7 64-битная строка в правильном порядке, как и ожидалось
  2. Windows XP 64bit(Machine 1) Шестнадцатеричная строка, обратный порядок байтов
  3. Windows XP 64bit(Machine 2) Строка в обратном порядке байтов

Я использовал wbemtest.exe и подтвердил, что эти результаты получены из WMI, а не из моего собственного кода.

Когда я использую DeviceIOControl и получаю информацию SMART, я всегда получаю серийный номер в виде шестнадцатеричной строки с обратным порядком байтов.

Это ожидаемое поведение и как с этим справиться?

0 ответов

Другие вопросы по тегам