Как я могу определить тип конкретного диска, не используя его буквы (для диска, который не инициализирован или не отформатирован)? - PullRequest
0 голосов
/ 02 августа 2020

Извините за мой плохой английский sh.

Я ищу решения для обнаружения этого типа дискового устройства на C / C ++. Я нашел функцию GetDriveType ("Letter_of_Disk") , но она требовала, чтобы это устройство форматировалось и имело букву диска. Итак, я не могу получить информацию о диске, который не инициализирован или не отформатирован.

        switch (GetDriveType("D:"))
        {
        case DRIVE_FIXED:
        {
            //Your Drive is an Internal HDD/SSD/Nvme or Portable/External HDD/SSD/Nvme
        }
        case DRIVE_REMOVABLE:
        {
            //Your Drive is an USB Flash or USB Pen
        }
        case DRIVE_NO_ROOT_DIR:
        {
            //
        }
        case DRIVE_REMOTE:
        {
            //
        }
        case DRIVE_CDROM:
        {
            //
        }
        case DRIVE_RAMDISK:
        {
            //
        }
        case DRIVE_UNKNOWN:
        {
            //
        }
        }

Существует способ использовать « \\. \ PhysicalDriveX » как «Letter_of_Disk», где X - это индекс устройства?.

Предпочитаю использовать Win32API, а не WMI.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...