Partager via


CM_Reenumerate_DevNode, fonction (cfgmgr32.h)

La fonction CM_Reenumerate_DevNode énumère les appareils identifiés par un nœud d’appareil spécifié et tous ses enfants.

Syntaxe

CMAPI CONFIGRET CM_Reenumerate_DevNode(
  [in] DEVINST dnDevInst,
  [in] ULONG   ulFlags
);

Paramètres

[in] dnDevInst

Handle de instance d’appareil fourni par l’appelant qui est lié à l’ordinateur local.

[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 est fonctionnellement équivalent à CM_REENUMERATE_SYNCHRONOUS.

CM_REENUMERATE_RETRY_INSTALLATION

Spécifie que Plug-and-Play doit 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 est fonctionnellement équivalent à CM_REENUMERATE_NORMAL.

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 à l’ordinateur local, consultez CM_Get_Child.

Configuration requise

   
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

Voir aussi

CM_Get_Child

CM_Reenumerate_DevNode_Ex

IRP_MN_SURPRISE_REMOVAL