Что означает код ошибки Windows 4206 (ERROR_WMI_ALREADY_ENABLED)?

 
Предыдущий Следующий
ERROR_WMI_UNRESOLVED_INSTANCE_REF ERROR_WMI_GUID_DISCONNECTED

ERROR_WMI_ALREADY_ENABLED

description[Блок данных WMI уже включён.]

Включение и отключение образуют жизненный цикл поставщика

WMI может попросить драйвер начать сбор дорогостоящего блока данных или отправку уведомлений о событиях. Корректный поставщик рассматривает переход как автомат состояний, а не запрос на запуск ещё одного рабочего потока или выделение второй копии ресурса. Этот статус означает, что блок уже был включён при повторной попытке включения.

Для сбора, помеченного как дорогостоящий, WMI обычно отправляет одно включение, когда блок требуется первому потребителю, и одно отключение после освобождения последним. Дублирующий результат должен привести к проверке подсчёта ссылок поставщика, прямой обработки IRP и пользовательского пути диспетчеризации, обходящего библиотеку WMI.

Какое состояние записывать

  • Отслеживайте GUID блока, устройство поставщика, текущее состояние включения и переход, который его изменил.
  • Сделайте включение идемпотентным на границе ресурса, чтобы дубль не создавал два таймера, дескриптора или подписки на события.
  • Выполняйте очистку только после успешного перехода состояния; ошибка включения не должна приводить к освобождению несвязанного ресурса последующим отключением.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.