Что означает код HRESULT 0x800401E9 (MK_E_NOTBOUND)?

 
Предыдущий Следующий
MK_E_NOTBINDABLE MK_E_CANTOPENFILE

MK_E_NOTBOUND

Что означает MK_E_NOTBOUND

MK_E_NOTBOUND (0x800401E9) — операция требует уже установленной привязки, но соответствующий moniker/object ещё не bound или привязка уже потеряна.

Моникер COM — это объект-имя, который не просто хранит строку, а знает правила разбора, сравнения, композиции и привязки к обозначаемому объекту или хранилищу. Поэтому ошибки MK_E_* нужно связывать с конкретным классом моникера и операцией IMoniker, а не трактовать как общий сбой COM.

Что проверить

  • Сопоставьте момент успешного BindToObject/BindToStorage с операцией, которая вернула ошибку.
  • Проверьте lifetime bound object, disconnect/release и ветви отмены.
  • Исключите использование callback/relationship state до завершения первоначального привязку.

Что делать

Восстановите корректную последовательность binding и lifetime. Повтор последующей операции без привязки сохраняет ту же причину.

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


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