CM_Reenumerate_DevNode_Ex, fonction (cfgmgr32.h)
[À compter de Windows 8 et Windows Server 2012, cette fonction a été déconseillée. Utilisez CM_Reenumerate_DevNode à la place.]
La fonction CM_Reenumerate_DevNode_Ex énumère les appareils identifiés par un nœud d’appareil spécifié et tous ses enfants.
Syntaxe
CMAPI CONFIGRET CM_Reenumerate_DevNode_Ex(
[in] DEVINST dnDevInst,
[in] ULONG ulFlags,
[in, optional] HMACHINE hMachine
);
Paramètres
[in] dnDevInst
Le handle de instance d’appareil fourni par l’appelant qui est lié au handle de machine fourni par hMachine.
[in] ulFlags
Indicateurs fournis par l’appelant qui spécifient la façon dont la rééumation doit se produire. Ce paramètre peut être défini sur une combinaison des indicateurs suivants, comme indiqué :
CM_REENUMERATE_ASYNCHRONOUS
La rééumation doit se produire de manière asynchrone. L’appel à cette fonction retourne immédiatement après que le gestionnaire PnP a reçu la demande d’énumération. Si cet indicateur est défini, l’indicateur CM_REENUMERATE_SYNCHRONOUS ne doit pas l’être également.
CM_REENUMERATE_NORMAL
Spécifie le comportement de réumation par défaut, dans lequel la rééumation se produit de manière synchrone. Cet indicateur équivaut actuellement à CM_REENUMERATE_SYNCHRONOUS.
CM_REENUMERATE_RETRY_INSTALLATION
Spécifie que Plug-and-Play doivent effectuer une autre tentative d’installation de tous les appareils de la sous-arborescence spécifiée qui ont été détectés mais qui ne sont pas encore configurés, ou qui sont marqués comme nécessitant une réinstallation, ou pour lesquels l’installation doit être terminée. Cet indicateur peut être défini avec l’indicateur CM_REENUMERATE_SYNCHRONOUS ou l’indicateur CM_REENUMERATE_ASYNCHRONOUS.
Cet indicateur doit être utilisé avec une extrême prudence, car il peut amener le gestionnaire PnP à inviter l’utilisateur à effectuer l’installation de ces appareils. Actuellement, seuls les composants tels que Gestionnaire de périphériques et l’Assistant Matériel utilisent cet indicateur pour permettre à l’utilisateur de réessayer l’installation d’appareils qui ont peut-être déjà été détectés, mais qui ne sont pas actuellement installés.
CM_REENUMERATE_SYNCHRONOUS
La rééumation doit se produire de manière synchrone. L’appel à cette fonction retourne quand tous les appareils de la sous-arborescence spécifiée ont été réintéressés. Si cet indicateur est défini, l’indicateur CM_REENUMERATE_ASYNCHRONOUS ne doit pas non plus être défini. Cet indicateur équivaut actuellement à CM_REENUMERATE_NORMAL.
[in, optional] hMachine
Handle de machine fourni par l’appelant auquel le handle de instance d’appareil fourni par l’appelant est lié.
Valeur retournée
Si l’opération réussit, la fonction retourne CR_SUCCESS. Sinon, elle retourne l’un des codes d’erreur préfixés CR_ définis dans Cfgmgr32.h.
Remarques
Si le nœud d’appareil spécifié représente un périphérique de bus matériel ou logiciel, le gestionnaire PnP interroge les pilotes de l’appareil pour obtenir une liste d’enfants, puis tente de configurer et de démarrer tous les appareils enfants qui n’ont pas été configurés précédemment. Le gestionnaire PnP lance également la suppression surprise des appareils qui ne sont plus présents (voir IRP_MN_SURPRISE_REMOVAL).
Les appelants de cette fonction doivent avoir SeLoadDriverPrivilege. (Les privilèges sont décrits dans la documentation Microsoft Windows SDK.)
Pour plus d’informations sur l’utilisation de handles de instance d’appareil liés à un ordinateur local ou distant, consultez CM_Get_Child_Ex.
La fonctionnalité permettant d’accéder aux ordinateurs distants a été supprimée dans Windows 8 et Windows Server 2012 systèmes d’exploitation et versions ultérieures. Vous ne pouvez donc pas accéder aux ordinateurs distants lors de l’exécution sur ces versions de Windows.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | cfgmgr32.h (inclure Cfgmgr32.h) |
Bibliothèque | Cfgmgr32.lib |
DLL | Cfgmgr32.dll |