/ / Actualisation de périphérique USB sous CC ++ - c ++, winapi, mfc

Actualisation du périphérique USB Windows dans CC ++ - c ++, winapi, mfc

J'essaie de trouver un moyen de ré-énumérer de manière pragmatique les périphériques USB connectés aux ports USB du PC.

Sous Windows, il est possible d’ouvrir le Gestionnaire de périphériques, de cliquer ensuite avec le bouton droit de la souris sur le nom du PC et de sélectionner "Rechercher les modifications sur le matériel".

Comment puis-je exécuter ceci (ou quelque chose de similaire mais spécifique au bus USB) à partir d'un programme C / C ++?

Réponses:

2 pour la réponse № 1

Vous pouvez utiliser cfgmgr32.lib bibliothèque dans votre projet. C’est facile. Si vous ne savez pas comment vous en servir, vous pouvez me le redemander.

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;
}