how to check if empty flash card reader is present in usb slot?
c++, winapi
Solution
Finally I found it! The key to success here is `GetVolumeInformation()`.
It returns 0 and sets last error to 21 when there is an empty card reader in usb slot. :)
Problem
I use `GetLogicalDrives()` to get all drives on my computer but that function shows not only present ready to use volumes but also empty flash-readers with no card in them. Next the `GetDriveType()` shows code 2 for such volume. And that is no matter if the flash card is present or not in the slot. Some multi-readers produce many such non-existing drives, the question is how can I determine the correct status of such volume. Trying to call `FindFirstFile()` on such non-present drive produces visual error even in console app : `Exception Processing Message c0000013 Parameters 75b3bf7c 4 75b3bf7c 75b3bf7c` After such error the code continues to run, but this annoying error shows up to the user in a window as the app would made a major crash. So one method of dealing with that would be using FindFirstFile but I do not know any way to get that error out of the way of the user.