Partager via


fonction CM_Get_Child_Ex (cfgmgr32.h)

[À compter de Windows 8 et Windows Server 2012, cette fonction a été déconseillée. Utilisez CM_Get_Child à la place.]

La fonction CM_Get_Child_Ex est utilisée pour récupérer un appareil instance gérer sur le premier nœud enfant d’un nœud d’appareil (devnode) spécifié dans l’arborescence d’appareils d’un ordinateur local ou distant.

Syntaxe

CMAPI CONFIGRET CM_Get_Child_Ex(
  [out]          PDEVINST pdnDevInst,
  [in]           DEVINST  dnDevInst,
  [in]           ULONG    ulFlags,
  [in, optional] HMACHINE hMachine
);

Paramètres

[out] pdnDevInst

Pointeur fourni par l’appelant vers l’appareil instance gérer vers le nœud enfant que cette fonction récupère. Le handle récupéré est lié au handle de machine fourni par hMachine. Consultez la section Remarques .

[in] dnDevInst

L’appareil fourni par l’appelant instance handle lié au handle de machine fourni par hMachine.

[in] ulFlags

Non utilisé, doit être égal à zéro.

[in, optional] hMachine

Handle d’ordinateur fourni par l’appelant auquel le handle de instance d’appareil fourni par l’appelant est lié.

Note L’utilisation de cette fonction pour accéder aux machines distantes n’est pas prise en charge à partir de Windows 8 et Windows Server 2012, car cette fonctionnalité a été supprimée.
 

Valeur retournée

Si l’opération réussit, la fonction retourne CR_SUCCESS. Sinon, il retourne l’un des codes d’erreur CR_ préfixés définis dans Cfgmgr32.h.

Remarques

Pour énumérer tous les enfants d’un devnode dans une arborescence d’appareil locale ou distante, appelez d’abord CM_Get_Child_Ex pour obtenir un handle au premier nœud enfant, puis appelez CM_Get_Sibling_Ex pour obtenir des handles pour le reste des enfants.

Utilisation de handles d’instance d’appareil

Les instance d’appareil que vous utilisez avec les fonctions du gestionnaire de configuration PnP sont liées aux handles d’ordinateur, comme suit :

  • Tous les handles de instance d’appareil local sont liés à un handle d’ordinateur local de valeur NULL.
  • Si vous utilisez un handle d’ordinateur distant pour obtenir un handle d’appareil instance, le handle de instance d’appareil distant résultant est lié au handle d’ordinateur distant.
  • Un périphérique instance handle ne peut être utilisé qu’avec le handle de machine auquel il est lié.
  • Un handle de instance d’appareil ne peut être utilisé avec un autre instance de périphérique que si les deux poignées de instance d’appareil sont liées au même handle d’ordinateur.
Utilisez CM_Connect_Machine pour obtenir un handle d’ordinateur distant à utiliser avec des poignées de instance d’appareil distant.

Pour obtenir un périphérique local ou distant instance gérer, effectuez l’une des opérations suivantes.

Vous pouvez également utiliser les fonctions d’installation de l’appareil pour obtenir des handles de instance d’appareil. Procédez comme suit :
  1. Obtenez un jeu d’informations sur l’appareil.
  2. Obtenez une structure de SP_DEVINFO_DATA pour un instance d’appareil dans l’ensemble d’informations de l’appareil.
  3. Obtenez le handle instance de l’appareil pour le instance de l’appareil à partir du membre DevInst de la structure SP_DEVINFO_DATA.
  4. Obtenez le handle de machine auquel le handle instance d’appareil est lié. Un handle d’appareil instance obtenu à partir d’un jeu d’informations d’appareil est lié au handle d’ordinateur auquel le jeu d’informations d’appareil est lié. Vous obtenez le handle de machine pour un jeu d’informations d’appareil à partir du membre RemoteMachineHandle de sa structure SP_DEVINFO_LIST_DETAIL_DATA . (Appelez SetupDiGetDeviceInfoListDetail pour obtenir une structure SP_DEVINFO_LIST_DETAIL_DATA.)
Les fonctionnalités permettant d’accéder aux machines distantes ont été supprimées dans les systèmes d’exploitation Windows 8 et Windows Server 2012 et versions ultérieures, par conséquent, vous ne pouvez pas accéder aux machines distantes lorsque vous exécutez 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

Voir aussi

CM_Get_Child

CM_Get_Parent

CM_Get_Parent_Ex

CM_Get_Sibling

CM_Get_Sibling_Ex

CM_Locate_DevNode

CM_Locate_DevNode_Ex

SP_DEVINFO_DATA

SP_DEVINFO_LIST_DETAIL_DATA

SetupDiGetDeviceInfoListDetail