5

我正在使用带有 C++ 的 WMI 来获取物理磁盘序列号。

在 Windows 7 64bit 上,我得到一个带有序列号的字符串。

在 Windows XP 64 位机器上运行相同的应用程序时,我得到一个十六进制字符串,每个字符的值都颠倒了。

到目前为止,我注意到了 3 种不同的行为:

  1. Windows 7 64位字符串按预期正确顺序
  2. Windows XP 64bit(Machine 1) 十六进制字符串,反转字节顺序
  3. Windows XP 64bit(Machine 2) 反转字节顺序的字符串

我使用了 wbemtest.exe 并确认这些结果来自 WMI,而不是我自己的代码。

当我使用 DeviceIOControl 并获取 SMART 信息时,我总是将序列号作为具有反转字节顺序的十六进制字符串获取。

这是预期的行为吗?如何处理?

4

0 回答 0