Функция CM_Reenumerate_DevNode_Ex (cfgmgr32.h)
[Начиная с Windows 8 и Windows Server 2012 эта функция устарела. Вместо этого используйте CM_Reenumerate_DevNode .]
Функция CM_Reenumerate_DevNode_Ex перечисляет устройства, определенные указанным узлом устройства и всеми его дочерними элементами.
Синтаксис
CMAPI CONFIGRET CM_Reenumerate_DevNode_Ex(
[in] DEVINST dnDevInst,
[in] ULONG ulFlags,
[in, optional] HMACHINE hMachine
);
Параметры
[in] dnDevInst
Дескриптор экземпляра устройства, предоставленный вызывающим абонентом, привязанный к дескрипторе компьютера, предоставленному hMachine.
[in] ulFlags
Флаги, предоставляемые вызывающим абонентом, которые указывают, как должна происходить повторная настройка. Для этого параметра можно задать сочетание следующих флагов, как указано ниже.
CM_REENUMERATE_ASYNCHRONOUS
Повторная операция должна выполняться асинхронно. Вызов этой функции возвращается сразу после того, как диспетчер PnP получит запрос на повторную отправку. Если этот флаг установлен, флаг CM_REENUMERATE_SYNCHRONOUS также не следует задавать.
CM_REENUMERATE_NORMAL
Задает поведение переумерации по умолчанию, в котором повторная реумерация выполняется синхронно. В настоящее время этот флаг эквивалентен CM_REENUMERATE_SYNCHRONOUS.
CM_REENUMERATE_RETRY_INSTALLATION
Указывает, что Plug and Play должна предпринять еще одну попытку установить все устройства в указанном поддереве, которые были обнаружены, но еще не настроены, помечены как нуждающиеся в переустановке или для которых установка должна быть завершена. Этот флаг можно задать вместе с флагом CM_REENUMERATE_SYNCHRONOUS или флагом CM_REENUMERATE_ASYNCHRONOUS.
Этот флаг следует использовать с особой осторожностью, так как он может привести к тому, что диспетчер PnP предложит пользователю выполнить установку таких устройств. В настоящее время этот флаг используется только в таких компонентах, как диспетчер устройств и мастер оборудования, чтобы разрешить пользователю повторить установку устройств, которые, возможно, уже были обнаружены, но не установлены в настоящее время.
CM_REENUMERATE_SYNCHRONOUS
Переумерация должна происходить синхронно. Вызов этой функции возвращается, когда все устройства в указанном поддереве были повторно усечены. Если этот флаг установлен, флаг CM_REENUMERATE_ASYNCHRONOUS также не должен быть установлен. В настоящее время этот флаг эквивалентен CM_REENUMERATE_NORMAL.
[in, optional] hMachine
Дескриптор компьютера, предоставленный вызывающим абонентом, к которому привязан дескриптор экземпляра устройства, предоставленный вызывающим абонентом.
Возвращаемое значение
Если операция выполнена успешно, функция возвращает CR_SUCCESS. В противном случае возвращается один из кодов ошибок с префиксом CR_, определенных в Cfgmgr32.h.
Комментарии
Если указанный узел устройства представляет устройство аппаратной или программной шины, диспетчер PnP запрашивает у драйверов устройства список дочерних устройств, а затем пытается настроить и запустить все дочерние устройства, которые ранее не были настроены. Диспетчер PnP также инициирует неожиданное удаление устройств, которых больше нет (см . IRP_MN_SURPRISE_REMOVAL).
У вызывающих объектов этой функции должен быть SeLoadDriverPrivilege. (Привилегии описаны в документации по Microsoft Windows SDK.)
Сведения об использовании дескрипторов экземпляров устройства, привязанных к локальному или удаленному компьютеру, см. в разделе CM_Get_Child_Ex.
Функциональные возможности доступа к удаленным компьютерам были удалены в Windows 8 и Windows Server 2012 и более поздних версиях операционных систем, поэтому вы не сможете получить доступ к удаленным компьютерам при работе в этих версиях Windows.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | cfgmgr32.h (включая Cfgmgr32.h) |
Библиотека | Cfgmgr32.lib |
DLL | Cfgmgr32.dll |