Мелкозернистое (съемное) определение типа привода

Я пытаюсь написать небольшой инструмент для упрощения инвентаризации моего съемного носителя. Получить и сохранить список файлов на носителе достаточно просто, но я хочу иметь возможность каталогизировать их в соответствии с типом диска.

Существует функция API для определения типа привода, но она устарела и ограничена гибкими дисками, компакт-дисками, стационарными, съемными, сетевыми и оперативными памятью. он не дает детальной информации, чтобы определить, является ли диск флэш-накопителем или картой памяти (не говоря уже о том, что это за карта памяти). Даже более новая функция, предназначенная для USB-накопителей, по-видимому, не делает различий между типами USB-носителей.

Есть ли достаточно простой и надежный способ (предпочтительно C++), чтобы определить это? (Да, я знаю, что некоторые носители можно изменить, чтобы они отображались как разные типы, но для нормальной работы стандартного носителя это должно быть достаточно хорошо.) Определенно есть способ сделать это, потому что Windows содержит разные значки для всех видов носителей. в shell32.dll, и Explorer обычно использует правильный, когда вы подключаете их.

0 ответов

Другие вопросы по тегам