32 votes

Retirer le lecteur USB en toute sécurité à l'aide de l'API Win32?

Quelqu'un sait comment faire pour supprimer une clé USB à l'aide de l'API win32? Je fais beaucoup de travail sur les systèmes embarqués et sur l'un de ces, je dois copier mes programmes sur une clé usb un de l'insérer dans le matériel cible.

Depuis que je travaille principalement sur la console, je n'aime pas utiliser la souris et cliquez sur la petite barre des tâches icône centaines de fois par jour.

J'aimerais écrire un petit programme pour faire exactement ce que je peut le mettre dans mon makefile, mais je n'ai pas trouvé d'appel d'API qui fait la même chose.

Des idées?

20voto

Kris Kumler Points 4122

Vous pouvez utiliser la fonction CM_Request_Device_Eject () ainsi que d'autres possibilités. Consultez les projets et articles suivants:

DevEject: simple. http://www.withopf.com/tools/deveject/

Un article CodeProject utile: http://www.codeproject.com/KB/system/RemoveDriveByLetter.aspx

15voto

mdb Points 20629

Voir l'article Q165721 de la Base de connaissances Microsoft: http://support.microsoft.com/kb/165721 - inclut le code source C complet

6voto

Grant Wagner Points 14085

Il semble que Sync vous permette de spécifier -e pour éjecter les disques amovibles. Bien qu'il ne s'agisse pas d'une API win32, vous pourriez probablement simplement appeler sync -e [drive_letter] partir de votre makefile.

4voto

jop Points 31978

Voici un article technique sur les supports de stockage amovibles. Recherchez DismountNtmsMedia .

3voto

petr k. Points 4890

Cet article et cet exemple devraient faire l'affaire: http://support.microsoft.com/default.aspx?scid=kb;en-us;165721

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X