2009-11-13 5 views
1

Я ищу функцию/класс в wxWidgets, которая может дать мне серийный номер тома (например, win32 GetVolumeInformation функция делает).Как получить серийный номер тома с помощью wxWidgets?

Я предполагаю, что серийный номер тома должен быть в значительной степени кросс-платформенным.

Заранее спасибо.

ответ

0

Член lpVolumeSerialNumber из GetVolumeInformation() является OS назначенный серийный номер (если диск отформатирован). Это не относится к Windows как таковой, но файловые системы Microsoft используют (например, FAT, NTFS и т. Д.).

Что вы пытаетесь достичь? Если вам требуется согласованное число на разных платформах (при условии, что на одном и том же физическом жестком диске), изучите извлечение серийного номера физического жесткого диска. Вы можете сделать это в Windows через WMI и/или DeviceIoControl(). Я уверен, что аналогичные IOCTL существуют в Linux или вы можете использовать «iostat -En» ​​или, возможно, «cfgadm -alv» (см. http://prefetch.net/blog/index.php/2010/07/13/locating-physical-disk-drives-in-solaris/ - я считаю, что большинство систем Un * x и Linux имеют примерно одинаковые утилиты для этого)