Expulsar la tarjeta de memoria del lector de tarjetas C #

Tengo un lector de tarjetas USB desarrollado a medida. Estoy usando el siguiente código para interactuar e iterar sobre el dispositivo:

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

El código anterior proporciona un método de "expulsión" utilizando la siguiente línea:

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

Sin embargo, este método de "expulsión" desmonta toda la unidad en lugar de simplemente expulsar la tarjeta multimedia.

Por qué esto es un problema es porque quiero 'expulsar' la tarjeta de medios y luego colocar una diferente. Sin embargo, cuando se expulsa todo el lector, tengo que desconectar / volver a conectar el dispositivo para que se muestre de nuevo.

En el explorador de Windows, cuando hago clic con el botón derecho en "expulsar", funciona como lo estoy imaginando, donde elimina de forma segura la tarjeta de memoria pero no el lector de tarjetas.

¿Cómo puedo impulsar este tipo diferente de expulsión en C #?

Gracias Stephanie

Respuestas a la pregunta(2)

Su respuesta a la pregunta