Я хочу определить, когда SD (или другая карта) вставлена в устройство чтения карт. Я знаю о WM_DEVICECHANGE
, но мне нужно получить конкретную информацию о типе устройства, учитывая букву диска. Например, я хочу различать любую карту в кард-ридере от "обычной" флеш-накопителя. GetDriveType()
, похоже, недостаточно утончен. Каковы мои другие варианты?
Я доволен решением для Windows 7. Мне не нужна обратная совместимость.
Возможно ли этот тип уточнения?
Я нашел этот раздел, который не дает удовлетворительного ответа. Этот вариант кажется способным, но нет образца кода или указателей для примера кода. Невероятно, что никто не собрал рабочий образец для такого общего запроса.
[EDIT]
Я также нашел это. Представленный образец имеет несколько ошибок, но после его исправления я все равно не получаю никакого результата. Для устройства, на котором установлена SD-карта, я получаю BusTypeUnknown
вместо BusTypeSd
в pDeviceDesc.BusType
. Это казалось простым и до сих пор не удалось.