Короче, тогда тернистый путь STORAGE_DEVICE_DESCRIPTOR. Пример берем здесь enumdisk. Это все из DDK. Поэтому копируем недостающие определения из заголовков DDK. И все собирается в VC (и работает ессно в юзермоде).
И че, работает? Просто врятли система вообще знает что-то о внутреннем устройстве диска, для нее это прозрачно. Тем более вы что думаете разработчики винды будут для каждой новой разработки добавлять новые типы в ддк? Мне кажется что тут придется либо получать какие-то названия дисков и искать там слово SSD что тупо. Либо мерять скорость работы винта, это более правдоподобный вариант.
Если эти диски поддерживают общие команды SCSI, а я думаю, что это так, то по запросу IOCTL_STORAGE_QUERY_PROPERTY (StorageDeviceProperty и PropertyStandardQuery) получим в буфуере копию IDENTIFY DEVICE DATA. Ну a там уже смотрим поля Type и TypeModifier.