функция 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
Дескриптор компьютера, предоставленный вызывающим абонентом, к которому привязан дескриптор экземпляра устройства, предоставленный вызывающим абонентом.
Возвращаемое значение
Если операция выполнена успешно, функция возвращает CR_SUCCESS. В противном случае возвращается один из кодов ошибок с префиксом CR_, определенных в Cfgmgr32.h.
Комментарии
Чтобы перечислить все дочерние элементы devnode в дереве устройств локального или удаленного компьютера, сначала вызовите 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 для экземпляра устройства в наборе сведений об устройстве.
- Получите дескриптор экземпляра устройства для экземпляра устройства из элемента DevInst структуры SP_DEVINFO_DATA.
- Получите дескриптор компьютера, к которому привязан дескриптор экземпляра устройства. Дескриптор экземпляра устройства, полученный из набора сведений об устройстве, привязан к дескрипторе компьютера, к которому привязан набор сведений об устройстве. Дескриптор компьютера для набора сведений об устройстве можно получить из элемента RemoteMachineHandle структуры SP_DEVINFO_LIST_DETAIL_DATA . (Вызовите SetupDiGetDeviceInfoListDetail , чтобы получить структуру SP_DEVINFO_LIST_DETAIL_DATA.)
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | cfgmgr32.h (включая Cfgmgr32.h) |
Библиотека | Cfgmgr32.lib |
DLL | Cfgmgr32.dll |