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.
- Utilisez l’une des fonctions suivantes qui récupèrent uniquement les handles de instance d’appareils locaux : CM_Locate_DevNode, CM_Get_Child, CM_Get_Parent ou CM_Get_Sibling.
- Utilisez l’une des fonctions suivantes, qui récupère les handles de instance d’appareil local et distant, pour récupérer un instance de périphérique local : CM_Locate_DevNode_Ex, CM_Get_Child_Ex, CM_Get_Parent_Ex ou CM_Get_Sibling_Ex.
- 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.)
- Obtenez une structure SP_DEVINFO_DATA pour un appareil instance dans l’ensemble d’informations de l’appareil.
- 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 |