Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Начиная с 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). Однако водители могут изменить отношения шины, которые они сообщают диспетчеру PnP асинхронно запроса повторной обработки, поэтому внешний вид новых устройств и удаление устройств, которые больше не присутствуют, могут не быть завершены после завершения операции повторной обработки.
Вызывающие функции должны иметь SeLoadDriverPrivilege. (Привилегии описаны в документации по пакету SDK для Microsoft Windows.)
Сведения об использовании дескрипторов экземпляра устройства, привязанных к локальному или удаленному компьютеру, см. в CM_Get_Child_Ex.
Функции для доступа к удаленным компьютерам были удалены в Операционных системах Windows 8 и Windows Server 2012 и более поздних версий, поэтому вы не сможете получить доступ к удаленным компьютерам при работе в этих версиях Windows.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
| целевая платформа | Рабочий стол |
| Заголовок | cfgmgr32.h (include Cfgmgr32.h) |
| Библиотека | Cfgmgr32.lib |
| Библиотека dll | Cfgmgr32.dll |