Я говорю о физическом жестком диске, а не томе / разделе / логическом диске.Так что обычно предлагаемая функция GetVolumeInformation
не применима в моем случае.
Если быть точным: я работаю напрямую с диском, который еще не был размечен.Я открываю дескриптор к нему через функцию CreateFile
:
hDisk = CreateFile(
_T("\\\\.\\PHYSICALDRIVE0"),
GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED|FILE_FLAG_NO_BUFFERING,
NULL);
Я могу читать / писать прямо на диск, используя этот дескриптор.Также есть возможность запрашивать различные свойства диска с помощью функции DeviceIoControl
.Однако я не смог найти способ запросить информацию о продавце / серийных свойствах диска, которые видны в диспетчере устройств.