| Предыдущий | Следующий |
| WCM_E_INVALIDEXPRESSIONSYNTAX | WCM_E_CONFLICTINGASSERTION |
WCM_E_NOTIFICATIONNOTFOUND
Практический смысл
WCM_E_NOTIFICATIONNOTFOUND (0X80220018) относится к Windows Configuration Management. Это failure HRESULT. Исходный признак результата зафиксирован в документации как исходное описание результата WCM_E_NOTIFICATIONNOTFOUND
.
Одинаковый facility объединяет коды по подсистеме, но не по причине. Воспроизводите минимальный вызов и фиксируйте состояние непосредственно перед ним. Для этой страницы ключевая граница формулируется так: исходное описание результата WCM_E_NOTIFICATIONNOTFOUND
Специфичные признаки исходного описания
invalidate caller-side handles when the engine or namespace is recreated
treat absent notification as idempotent cleanup only when no active subscription is required
WCM_E_NOTIFICATIONNOTFOUND is the failure HRESULT 0x80220018 (signed decimal -2145255400 , unsigned decimal 2149711896 ). Its severity bit is 1 , facility is 34 ( FACILITY_STATE_MANAGEMENT ), and the facility-specific code field is 0x0018 .
AllStat records the Windows SDK description as “No matching Notification found.”
The requested notification registration does not exist. The operation reached lookup or removal of a notification subscription associated with settings changes. The first branch to test is whether the notification was never registered in this engine/context; keep that separate from the possibility that cleanup already removed it.
At this boundary, capture notification identifier and owning namespace, then correlate it with registration/removal timeline with thread IDs. Assign ownership only after checking engine/context lifetime and target changes.
Что сохранить до исправления
- 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.
Исправление и повторная проверка
После исправления повторите тот же минимальный сценарий и убедитесь, что изменился именно подтверждённый prerequisite, а не только порядок событий.
Дополнительные признаки конкретного сценария
invalidate caller-side handles when the engine or namespace is recreated
treat absent notification as idempotent cleanup only when no active subscription is required
A shutdown path unregisters a notification, then a second object destructor repeats the cleanup using the stale identifier.
Технические ссылки
- Microsoft: SMI error and success constants.
- Microsoft: Settings Management Infrastructure API.
- Microsoft: SMI interfaces.
- Microsoft: ISettingsEngine::GetNamespace.
- Microsoft: ISettingsContext::Deserialize.
Нужно найти другой код? Найти другой код состояния или ошибки.
