функция CM_Get_Child (cfgmgr32.h)
Функция CM_Get_Child используется для получения дескриптора экземпляра устройства на первый дочерний узел указанного узла устройства (devnode) в дереве устройств локального компьютера.
Примечание
В Windows Vista и более поздних версиях Windows унифицированная модель свойств устройства использует ключ свойстваDEVPKEY_Device_Children для представления дочерних элементов устройства. Дополнительные сведения см. в разделе Извлечение отношений устройств .
Синтаксис
CMAPI CONFIGRET CM_Get_Child(
[out] PDEVINST pdnDevInst,
[in] DEVINST dnDevInst,
[in] ULONG ulFlags
);
Параметры
[out] pdnDevInst
Предоставленный вызывающим объектом указатель на дескриптор экземпляра устройства на дочерний узел, извлекаемого этой функцией. Полученный дескриптор привязан к локальному компьютеру. См. раздел Примечания .
[in] dnDevInst
Дескриптор экземпляра устройства, предоставленный вызывающим абонентом, привязанный к локальному компьютеру.
[in] ulFlags
Не используется, должно быть равно нулю.
Возвращаемое значение
Если операция выполнена успешно, функция возвращает CR_SUCCESS. В противном случае возвращается один из кодов ошибок с префиксом CR_, определенных в Cfgmgr32.h.
Комментарии
Чтобы перечислить все дочерние элементы devnode в дереве устройств локального компьютера, сначала вызовите CM_Get_Child , чтобы получить дескриптор экземпляра устройства к первому дочернему узлу, а затем вызовите CM_Get_Sibling , чтобы получить дескрипторы для остальных дочерних узлов.
Использование дескрипторов экземпляров устройств
Дескриптор экземпляра устройства, используемый с функциями диспетчера конфигурации 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.
- Получите набор сведений об устройствах, привязанный к локальному компьютеру. (Дескриптор экземпляра устройства, полученный из набора сведений об устройствах, привязывается к дескрипторе компьютера, к которому привязан набор сведений об устройстве. Дескриптор компьютера для набора сведений об устройстве можно получить из элемента RemoteMachineHandle структуры SP_DEVINFO_LIST_DETAIL_DATA . Для набора сведений о локальном устройстве, привязанного к локальному компьютеру, значение RemoteMachineHandle равно NULL. Вызовите SetupDiGetDeviceInfoListDetail , чтобы получить структуру SP_DEVINFO_LIST_DETAIL_DATA.)
- Получите структуру SP_DEVINFO_DATA для экземпляра устройства в наборе сведений об устройстве.
- Получите дескриптор экземпляра устройства для экземпляра устройства из элемента DevInst структуры SP_DEVINFO_DATA.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
Целевая платформа | Универсальное |
Верхняя часть | cfgmgr32.h (включая Cfgmgr32.h) |
Библиотека | Cfgmgr32.lib; OneCoreUAP.lib в Windows 10 |
DLL | CfgMgr32.dll |