/ / Windows USB zariadenie obnoviť v CC ++ - c ++, winapi, mfc

Obnovenie systému Windows USB v CC ++ - c ++, winapi, mfc

Snažím sa nájsť spôsob, ako pragmaticky re-enumerovať USB zariadenia pripojené k USB portom PC.

V systéme Windows je možné otvoriť Správcu zariadení, potom kliknite pravým tlačidlom myši na názov počítača a vyberte položku „Skenovať zmeny hardvéru“.

Ako môžem vykonať toto (alebo niečo podobné, ale špecifické pre zbernicu USB) z programu C / C ++?

odpovede:

2 pre odpoveď č. 1

Môžeš použiť cfgmgr32.lib vo vašom projekte. Je to jednoduché. Ak neviete, ako ho používať, môžete sa ma opýtať znova.

BOOL ScanForHardwareChanges()
{
DEVINST     devInst;
CONFIGRET   status;

//
// Get the root devnode.
//

status = CM_Locate_DevNode(&devInst, NULL, CM_LOCATE_DEVNODE_NORMAL);

if (status != CR_SUCCESS) {
printf("CM_Locate_DevNode failed: %xn", status);
return FALSE;
}

status = CM_Reenumerate_DevNode(devInst, 0);

if (status != CR_SUCCESS) {
printf("CM_Reenumerate_DevNode failed: %xn", status);
return FALSE;
}

return TRUE;
}