Член 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 имеют примерно одинаковые утилиты для этого)