| Предыдущий | Следующий |
| MK_E_EXCEEDEDDEADLINE | MK_E_UNAVAILABLE |
MK_E_NEEDGENERIC
Что означает MK_E_NEEDGENERIC
MK_E_NEEDGENERIC (0x800401E2) — операция композиции или reduction требует generic composite moniker, а текущий специализированный моникер не может представить нужную связь.
Моникер COM — это объект-имя, который не просто хранит строку, а знает правила разбора, сравнения, композиции и привязки к обозначаемому объекту или хранилищу. Поэтому ошибки MK_E_* нужно связывать с конкретным классом моникера и операцией IMoniker, а не трактовать как общий сбой COM.
Что проверить
- Запишите классы обоих моникеров и результат
ComposeWith/Reduce. - Проверьте параметр
fOnlyIfNotGenericи ожидания вызывающего кода относительно generic composite. - Не собирайте новый display name простой конкатенацией строк: composition должна выполняться через контракт
IMoniker.
Что делать
Разрешите API создать корректный generic composite или измените композицию так, чтобы её поддерживал специализированный класс.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
