Ejetar cartão de memória do leitor de cartão C #

Eu tenho um leitor de cartão USB desenvolvido sob medida. Estou usando o seguinte código para interagir e iterar no dispositivo:

http://www.codeproject.com/KB/system/usbeject.aspx

O código acima fornece um método 'ejetar' usando a seguinte linha:

Native.CM_Request_Device_Eject_NoUi(device.InstanceHandle, IntPtr.Zero, null, 0, 0);

No entanto, esse método de 'ejeção' desmonta a unidade inteira em vez de simplesmente ejetar o cartão de memória.

Por que isso é um problema, eu quero 'ejetar' o cartão de memória e colocá-lo em outro. No entanto, quando todo o leitor é ejetado, tenho que desconectar / reconectar o dispositivo para que ele apareça.

No Windows Explorer, quando clico com o botão direito do mouse em 'ejetar', ele funciona como imagino, onde remove com segurança o cartão de memória, mas não o leitor de cartão.

Como posso impulsionar esse tipo diferente de ejeção em c #?

Obrigado, Stephanie

questionAnswers(2)

yourAnswerToTheQuestion