CM_Get_Child_Ex 函数 (cfgmgr32.h)
[从 Windows 8 和 Windows Server 2012 开始,此函数已弃用。 请改 用CM_Get_Child 。]
CM_Get_Child_Ex函数用于检索指定设备节点的第一个子节点的设备实例句柄, (本地或远程计算机的设备树中的 devnode) 。
语法
CMAPI CONFIGRET CM_Get_Child_Ex(
[out] PDEVINST pdnDevInst,
[in] DEVINST dnDevInst,
[in] ULONG ulFlags,
[in, optional] HMACHINE hMachine
);
参数
[out] pdnDevInst
调用方提供的指向此函数检索的子节点的设备实例句柄的指针。 检索到的句柄绑定到 hMachine 提供的计算机句柄。 请参阅 “备注 ”部分。
[in] dnDevInst
调用方提供的设备实例句柄,绑定到 hMachine 提供的计算机句柄。
[in] ulFlags
未使用,必须为零。
[in, optional] hMachine
调用方提供的计算机句柄,调用方提供的设备实例句柄绑定到该句柄。
注意从Windows 8和Windows Server 2012开始,不支持使用此函数访问远程计算机,因为此功能已被删除。
返回值
如果操作成功,函数将返回CR_SUCCESS。 否则,它将返回 Cfgmgr32.h 中定义的CR_前缀错误代码之一。
注解
若要枚举本地或远程计算机设备树中某个开发节点的所有子节点,首先调用 CM_Get_Child_Ex 以获取第一个子节点的句柄,然后调用 CM_Get_Sibling_Ex 以获取其余子节点的句柄。
使用设备实例句柄
与 PnP 配置管理器函数 一起使用的设备实例句柄绑定到计算机句柄,如下所示:
- 所有本地设备实例句柄都绑定到 NULL 值的本地计算机句柄。
- 如果使用远程计算机句柄获取设备实例句柄,则生成的远程设备实例句柄将绑定到远程计算机句柄。
- 设备实例句柄只能与它绑定到的计算机句柄一起使用。
- 仅当两个设备实例句柄绑定到同一个计算机句柄时,设备实例句柄才能与另一个设备实例句柄一起使用。
若要获取本地或远程设备实例句柄,请执行下列操作之一。
- 使用以下函数之一检索绑定到本地计算机的设备实例句柄: CM_Locate_DevNode、 CM_Get_Child、 CM_Get_Parent或 CM_Get_Sibling。
- 使用以下函数之一检索绑定到本地或远程计算机的设备实例句柄: CM_Locate_DevNode_Ex、 CM_Get_Child_Ex、 CM_Get_Parent_Ex或 CM_Get_Sibling_Ex。
- 获取设备信息集。
- 获取设备信息集中设备实例的 SP_DEVINFO_DATA 结构。
- 从 SP_DEVINFO_DATA 结构的 DevInst 成员获取设备实例的设备实例句柄。
- 获取设备实例句柄绑定到的计算机句柄。 从设备信息集获取的设备实例句柄绑定到设备信息集绑定到的计算机句柄。 可以从其SP_DEVINFO_LIST_DETAIL_DATA结构的 RemoteMachineHandle 成员获取设备信息集的计算机句柄。 (调用 SetupDiGetDeviceInfoListDetail 以获取SP_DEVINFO_LIST_DETAIL_DATA structure.)
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。 |
目标平台 | 桌面 |
标头 | cfgmgr32.h (包括 Cfgmgr32.h) |
Library | Cfgmgr32.lib |
DLL | Cfgmgr32.dll |