функция CM_Reenumerate_DevNode (cfgmgr32.h)
Функция CM_Reenumerate_DevNode перечисляет устройства, определенные указанным узлом устройства и всеми его дочерними элементами.
Синтаксис
CMAPI CONFIGRET CM_Reenumerate_DevNode(
[in] DEVINST dnDevInst,
[in] ULONG ulFlags
);
Параметры
[in] dnDevInst
Дескриптор экземпляра устройства, предоставленный вызывающим абонентом, привязанный к локальному компьютеру.
[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.
Возвращаемое значение
Если операция выполнена успешно, функция возвращает CR_SUCCESS. В противном случае возвращается один из кодов ошибок с CR_ префиксами, определенных в Cfgmgr32.h.
Комментарии
Если указанный узел устройства представляет устройство аппаратной или программной шины, диспетчер PnP запрашивает у драйверов устройства список дочерних устройств, а затем пытается настроить и запустить все дочерние устройства, которые ранее не были настроены. Диспетчер PnP также инициирует неожиданное удаление устройств, которых больше нет (см . IRP_MN_SURPRISE_REMOVAL).
Вызывающие функции должны иметь SeLoadDriverPrivilege. (Привилегии описаны в документации по Microsoft Windows SDK.)
Сведения об использовании дескрипторов экземпляров устройства, привязанных к локальному компьютеру, см. в разделе CM_Get_Child.
Требования
Минимальная версия клиента | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | cfgmgr32.h (включая Cfgmgr32.h) |
Библиотека | Cfgmgr32.lib |
DLL | Cfgmgr32.dll |