Używam GetLogicalDrives()
do pobierania wszystkich dysków na moim komputerze, ale ta funkcja pokazuje nie tylko gotowych do użycia woluminy, ale także puste czytniki flash bez karty. Następnie GetDriveType()
pokazuje kod 2 dla takiej objętości. I to nie ma znaczenia, czy karta flash jest obecna, czy nie w gnieździe. Niektóre czytniki wielu produkują wiele takich nieistniejących dysków, pytanie, w jaki sposób określić prawidłowy stan takiej objętości.jak sprawdzić, czy pusty czytnik kart pamięci jest obecny w gnieździe USB?
Próba połączenia pod numer na takim nieistniejącym dysku powoduje błąd wizualny nawet w aplikacji konsoli: Exception Processing Message c0000013 Parameters 75b3bf7c 4 75b3bf7c 75b3bf7c
Po takim błędzie kod nadal działa, ale ten denerwujący błąd pojawia się w oknie użytkownika, ponieważ aplikacja wykonałaby poważna awaria.
Tak więc jedną z metod radzenia sobie z tym byłoby użycie FindFirstFile, ale nie znam żadnego sposobu na usunięcie tego błędu z drogi użytkownika.
Czekajcie, ja * wiem * że napęd to USB typu 2, ale może to być czytnik kart pamięci lub czytnik USB z kartą flash, a nie wszystko, ale chcę wiedzieć, że karta jest obecny lub jest to tylko symbol zastępczy dysku czytelnik-dummy. – rsk82