вариант 2. открывать "\\.\C:" и так все буквы, проверять их на то, что они removable, и если removable - читать какой-нибудь секретный сектор из девайса, по которому его можно идентифицировать. Ну и повеситься на SHCNE_DRIVEADD и SHCNE_DRIVEREMOVED через SHChangeNotifyRegister, чтобы знать момент фтыкания.