Что означает код HRESULT 0x800401EB (MK_E_MUSTBOTHERUSER)?

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

MK_E_MUSTBOTHERUSER

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

MK_E_MUSTBOTHERUSER (0x800401EB) — привязку нельзя корректно продолжить без решения или данных от пользователя.

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

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

  • Определите, какой именно выбор требует moniker implementation: credentials, выбор объекта, подтверждение или другой специфичный для класса ввод.
  • Проверьте, не выполняется ли привязку в service/headless context, где UI принципиально невозможен.
  • Сохраните IErrorInfo и состояние контекст привязки до показа UI.

Что делать

Не превращайте такой результат в бесконечный автоматический retry. Либо организуйте допустимое интерактивное продолжение, либо завершите операцию понятной ошибкой.

Как интерпретировать результат

В отличие от MK_E_CONNECTMANUALLY, здесь контракт прямо требует участия пользователя, а не просто дополнительного шага вызывающего кода.

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


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