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

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

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

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

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

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

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

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

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

...