¿Cómo puedo cambiar un dispositivo USB desde C #?

Me gustaría alternar (simular desconectar y volver a insertar) un dispositivo USB (módem) después de que se haya activado un determinado evento. Encontré una muestra en codeproject:

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

Eso me permite identificar + expulsar el dispositivo a través de su serie no volátil, pero lo necesito para reciclar, no solo expulsar.

He leído esto:

http: //www.tech-archive.net/Archive/Development/microsoft.public.development.device.drivers/2005-02/1292.htm

No lo entiendo

Esto se ha mencionado en otras publicaciones relacionadas con USB:

http: //www.codeproject.com/KB/system/DriveDetector.asp

No es relevante para mi problema.

Respuestas a la pregunta(4)

Su respuesta a la pregunta