| Предыдущий | Следующий |
| CO_E_OBJSRV_RPC_FAILURE | CO_E_SERVER_STOPPING |
MK_E_NO_NORMALIZED
Что означает MK_E_NO_NORMALIZED
MK_E_NO_NORMALIZED (0x80080007) — moniker path нельзя привести к нормализованному виду, который требуется для стабильного сравнения, reduction или binding.
Моникер COM — это объект-имя, который не просто хранит строку, а знает правила разбора, сравнения, композиции и привязки к обозначаемому объекту или хранилищу. Поэтому ошибки MK_E_* нужно связывать с конкретным классом моникера и операцией IMoniker, а не трактовать как общий сбой COM.
Что проверить
- Получите display name и попробуйте round-trip parse → moniker → display name для того же класса.
- Сравните absolute и relative construction, удерживая target неизменным.
- Проверьте
Reduce/IsEqualи наличие неоднозначной относительной композиции.
Что делать
Создайте моникер корректного класса с однозначным абсолютным/канонический именем вместо ручной склейки пути.
Как интерпретировать результат
Существование target само по себе не гарантирует, что выбранное moniker representation можно нормализовать.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.