Поделиться через


функция 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. В противном случае возвращается один из кодов ошибок с префиксом CR_, определенных в Cfgmgr32.h.

Комментарии

Чтобы перечислить все дочерние элементы devnode в дереве устройств локального или удаленного компьютера, сначала вызовите CM_Get_Child_Ex , чтобы получить дескриптор первого дочернего узла, а затем вызовите CM_Get_Sibling_Ex для получения дескрипторов для остальных дочерних узлов.

Использование дескрипторов экземпляров устройств

Дескриптор экземпляра устройства, используемый с функциями диспетчера конфигурации PnP , привязан к дескрипторам компьютера следующим образом:

  • Все дескрипторы экземпляров локального устройства привязаны к дескрипторе локального компьютера с значением NULL.
  • При использовании дескриптора удаленного компьютера для получения дескриптора экземпляра устройства результирующий дескриптор удаленного устройства привязывается к дескриптору удаленного компьютера.
  • Дескриптор экземпляра устройства можно использовать только с дескриптором компьютера, к которому он привязан.
  • Дескриптор экземпляра устройства можно использовать с другим дескриптором экземпляра устройства, только если оба дескриптора экземпляра устройства привязаны к одному и тому же дескриптору компьютера.
Используйте CM_Connect_Machine , чтобы получить дескриптор удаленного компьютера для использования с дескрипторами экземпляров удаленных устройств.

Чтобы получить локальный или удаленный дескриптор экземпляра устройства, выполните одно из следующих действий.

  • Используйте одну из следующих функций, чтобы получить дескриптор экземпляра устройства, привязанный к локальному компьютеру: 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.
Вы также можете использовать функции установки устройства для получения дескрипторов экземпляра устройства. Выполните следующие шаги:
  1. Получение набора сведений об устройстве.
  2. Получите структуру SP_DEVINFO_DATA для экземпляра устройства в наборе сведений об устройстве.
  3. Получите дескриптор экземпляра устройства для экземпляра устройства из элемента DevInst структуры SP_DEVINFO_DATA.
  4. Получите дескриптор компьютера, к которому привязан дескриптор экземпляра устройства. Дескриптор экземпляра устройства, полученный из набора сведений об устройстве, привязан к дескрипторе компьютера, к которому привязан набор сведений об устройстве. Дескриптор компьютера для набора сведений об устройстве можно получить из элемента RemoteMachineHandle структуры SP_DEVINFO_LIST_DETAIL_DATA . (Вызовите SetupDiGetDeviceInfoListDetail , чтобы получить структуру SP_DEVINFO_LIST_DETAIL_DATA.)
Функциональные возможности доступа к удаленным компьютерам были удалены в Windows 8 и Windows Server 2012 и более поздних версиях операционных систем, поэтому вы не сможете получить доступ к удаленным компьютерам при работе в этих версиях Windows.

Требования

Требование Значение
Минимальная версия клиента Доступно в Microsoft Windows 2000 и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть cfgmgr32.h (включая Cfgmgr32.h)
Библиотека Cfgmgr32.lib
DLL Cfgmgr32.dll

См. также раздел

CM_Get_Child

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