Partager via


CM_Get_Child, fonction (cfgmgr32.h)

La fonction CM_Get_Child permet de récupérer un appareil instance handle sur le premier nœud enfant d’un nœud d’appareil (devnode) spécifié dans l’arborescence d’appareils de l’ordinateur local.

Notes

Dans Windows Vista et les versions ultérieures de Windows, le modèle de propriété d’appareil unifié utilise la clé depropriété DEVPKEY_Device_Children pour représenter les enfants d’appareil. Pour plus d’informations, consultez Récupération des relations d’appareil .

Syntaxe

CMAPI CONFIGRET CM_Get_Child(
  [out] PDEVINST pdnDevInst,
  [in]  DEVINST  dnDevInst,
  [in]  ULONG    ulFlags
);

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é à l’ordinateur local. Consultez la section Remarques .

[in] dnDevInst

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

[in] ulFlags

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

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

Pour énumérer tous les enfants d’un devnode dans l’arborescence d’appareils de l’ordinateur local, appelez d’abord CM_Get_Child pour obtenir un handle d’appareil instance au premier nœud enfant, puis appelez CM_Get_Sibling pour obtenir des descripteurs pour le reste des enfants.

Utilisation de handles d’instance d’appareil

Le handle de instance d’appareil que vous utilisez avec les fonctions de gestionnaire de configuration PnP sont liés aux handles de machine, comme suit :

  • Tous les handles de instance d’appareil local sont liés à un handle d’ordinateur local à 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 handle de instance d’appareil ne peut être utilisé qu’avec le handle de machine auquel il est lié.
  • Un handle de instance d’appareil peut être utilisé avec un autre handle de instance d’appareil uniquement si les deux poignées de instance d’appareil sont liées au même handle d’ordinateur.
Pour obtenir un handle de instance d’appareil lié à l’ordinateur local, 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 locaux à partir d’un jeu d’informations sur l’appareil lié à l’ordinateur local. Procédez comme suit :
  1. Obtenez un jeu d’informations sur l’appareil lié à l’ordinateur local. (Un handle de instance d’appareil obtenu à partir d’un jeu d’informations d’appareil est lié au handle de machine 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. Pour un jeu d’informations d’appareil local lié à l’ordinateur local, la valeur de RemoteMachineHandle est NULL. Appelez SetupDiGetDeviceInfoListDetail pour obtenir une structure SP_DEVINFO_LIST_DETAIL_DATA.)
  2. Obtenez une structure SP_DEVINFO_DATA pour un appareil instance dans l’ensemble d’informations de l’appareil.
  3. Obtenez le handle de instance d’appareil pour l’appareil instance auprès du membre DevInst de la structure SP_DEVINFO_DATA.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows.
Plateforme cible Universal
En-tête cfgmgr32.h (inclure Cfgmgr32.h)
Bibliothèque Cfgmgr32.lib ; OneCoreUAP.lib sur Windows 10
DLL CfgMgr32.dll

Voir aussi

CM_Get_Child_Ex

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