У меня есть специально разработанный USB-картридер. Я использую следующий код для взаимодействия и итерации на устройстве:
http://www.codeproject.com/KB/system/usbeject.aspx
Приведенный выше код предоставляет метод «извлечения» с использованием следующей строки:
Native.CM_Request_Device_Eject_NoUi(device.InstanceHandle, IntPtr.Zero, null, 0, 0);
Однако этот метод «извлечения» отключает весь диск, а не просто извлекает карту памяти.
Почему это проблема, потому что я хочу «извлечь» медиа-карту, а затем вставить другую. Однако, когда весь читатель извлекается, я должен отключить / снова подключить устройство, чтобы оно снова появилось.
В проводнике Windows, когда я щелкаю правой кнопкой мыши «извлечь», он работает так, как я себе представляю, где он безопасно удаляет карту памяти, но не устройство чтения карт.
Как я могу реализовать этот другой тип извлечения в c #?