Что означает код HRESULT 0x8022001B (WCM_E_DUPLICATENAME)?

 
Предыдущий Следующий
WCM_E_ASSERTIONFAILED WCM_E_INVALIDKEY

WCM_E_DUPLICATENAME

Практический смысл

WCM_E_DUPLICATENAME (0X8022001B) относится к Windows Configuration Management. Это failure HRESULT. Исходный признак результата зафиксирован в документации как исходное описание результата WCM_E_DUPLICATENAME.

Одинаковый facility объединяет коды по подсистеме, но не по причине. Воспроизводите минимальный вызов и фиксируйте состояние непосредственно перед ним. Для этой страницы ключевая граница формулируется так: исходное описание результата WCM_E_DUPLICATENAME

Специфичные признаки исходного описания

  • WCM_E_DUPLICATENAME is the failure HRESULT 0x8022001B (signed decimal -2145255397 , unsigned decimal 2149711899 ). Its severity bit is 1 , facility is 34 ( FACILITY_STATE_MANAGEMENT ), and the facility-specific code field is 0x001B .
  • AllStat records the Windows SDK description as “Name already exists.”
  • The operation reached insertion or compilation of named settings, expressions, substitutions, handlers, or list elements.
  • At this boundary, capture duplicate text and enclosing scope, then correlate it with source locations of every declaration. Assign ownership only after checking normalization/case behavior used by SMI.
  • case or normalization differences collapse to one name
  • a create operation repeats an existing child name

Что сохранить до исправления

  • namespace, configuration unit и полный logical path без секретных values
  • manifest/schema version, datatype, restriction и operation type
  • processor/handler identity и точную assertion или validation boundary
  • user/store context, transaction state и первый HRESULT от WCM API

Как локализовать границу

Проверяйте schema/manifest contract, namespace/path и конкретное правило validation, а не весь configuration store целиком. Сначала воспроизведите минимальный сценарий без параллельного изменения конфигурации; затем сравните сохранённые параметры с условием из исходного описания. Если состояние исчезает после re-enumeration или пересоздания объекта, отдельно проверьте lifetime/generation race.

Исправление и повторная проверка

Если retry нужен, заново получите объекты, чья generation могла измениться, и не продолжайте работу с stale interface только потому, что предыдущий вызов завершился.

Дополнительные признаки конкретного сценария

  • generated metadata emits both base and override definitions into one scope
  • Two feature fragments each generate the same handler name into a shared namespace. Compilation sees both declarations in one scope.
  • A retry without removing or renaming the collision is deterministic. Do not delete an arbitrary existing object before comparing ownership.

Технические ссылки


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