xilebo noone | en cherchant un peu plus, j'ai trouvé une partie de code qui peut etre interessante :
Code :
- #include <windows.h>
- #include <SetupAPI.h>
- #include <cfgmgr32.h>
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE PrevInstance, LPSTR CmdLine, int CmdShow)
- {
- int res = 0;
- char buffer[20];
- char* hid = "USB\\Vid_05e3&Pid_0702\\5&2cab1e4d&0&1";
- HMACHINE hMachine = NULL;
- DEVINST dnDevInst = NULL;
- PDEVINST pdnDevInst_OUT = &dnDevInst;
- res = CM_Locate_DevNode_Ex(pdnDevInst_OUT, hid, CM_LOCATE_DEVNODE_NORMAL, hMachine);
- _itoa(res, buffer, 10);
- //MessageBox(NULL, buffer, "msg", 0);
- res = CM_Request_Device_Eject_Ex(dnDevInst, NULL, NULL, 0, 0, hMachine );
- _itoa(res, buffer, 10);
- //MessageBox(NULL, buffer, "msg", 0);
- return 0;
- }
|
Apparemment, il est possible d'ejecter un periphérique en passant par la Setup API comme tu me l'as proposé. Il me reste donc à trouver le moyen de faire la correspondance entre mon lecteur ('F:' par exemple) et le périphérique associé, et également savoir si un périphérique est éjectable ou non.
|