| Предыдущий | Следующий |
| MK_E_NOSTORAGE | MK_E_ENUMERATION_FAILED |
MK_E_NOPREFIX
Что означает MK_E_NOPREFIX
MK_E_NOPREFIX (0x800401EE) — Общий префикс отсутствует.
В подсистеме «COM/WinRT» результат 0x800401EE относится к области «контракт вызываемого interface, аргументы и state объекта». Описание «общий префикс отсутствует» сужает проверку до темы «mk, noprefix».
Что проверить и как подтвердить исправление
Первый шаг — сопоставьте первый отказ с фактическими параметрами операции. Когда при 0x800401EE система сообщает «общий префикс отсутствует», воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Чтобы локализовать 0x800401EE, соберите IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IMoniker::CommonPrefixWith, IMoniker, IBindCtx, IErrorInfo, HRESULT. Затем для 0x800401EE сравните исправный и неуспешный запуск в части «mk, noprefix», меняя одно условие за раз.
Для 0x800401EE применяйте исправление на границе первого отказа: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Сообщение «общий префикс отсутствует» при 0x800401EE не следует подавлять общей обработкой исключения.
Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0x800401EE, а заведомо неверный вход отклоняется на ожидаемой границе.
Документация для результата 0x800401EE: generic COM error codes · HRESULT values · IMoniker.
Нужно найти другой код? Найти другой код состояния или ошибки.