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ď č. 1Môž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;
}