| Предыдущий | Следующий |
| MK_E_NOINVERSE | MK_E_NOPREFIX |
MK_E_NOSTORAGE
Что означает MK_E_NOSTORAGE
MK_E_NOSTORAGE (0x800401ED) — моникер обозначает объект, но он не предоставляет storage, запрошенный через BindToStorage.
Моникер COM — это объект-имя, который не просто хранит строку, а знает правила разбора, сравнения, композиции и привязки к обозначаемому объекту или хранилищу. Поэтому ошибки MK_E_* нужно связывать с конкретным классом моникера и операцией IMoniker, а не трактовать как общий сбой COM.
Что проверить
- Запишите requested storage IID и concrete moniker class.
- Проверьте, не нужно ли приложению
BindToObjectвместоBindToStorage. - Для составного моникера найдите компонент, после которого storage semantics перестают поддерживаться.
Что делать
Запрашивайте тот тип привязки, который действительно поддерживает target. Наличие объекта не означает наличие IStorage/IStream.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.