Spegnere un dispositivo USB nel software su Windows

Vorrei spegnere e riaccendere un dispositivo USB tramite software su Windows.

Sto facendo lo sviluppo su un piccolo microcontroller di alimentazione USB. Questo chip tornerà al comportamento nativo in un ciclo di spegnimento e consentire il download del codice. Dal momento che il mio codice si bloccherà il dispositivo quando le cose vanno male – facendo ignorare tutti i comandi USB – Devo fisicamente scolbind il dispositivo dal sistema.

Voglio fare lo sviluppo da remoto, e non dover essere fisicamente presente.

Finora ho provato a usare “devcon” per disabilitare porzioni dello stack USB. Mentre questo porta gli hub in D3 (dovrebbe essere spento!), Il dispositivo è ancora alimentato.

Esistono soluzioni preesistenti o trucchi SetupAPI che potrebbero essere utili?