Site icon EfmSoft

Что означает код HRESULT 0x000401E6 (MK_S_US)?

 
Предыдущий Следующий
MK_S_HIM MK_S_MONIKERALREADYREGISTERED

MK_S_US

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

MK_S_US (0x000401E6) — Общий префикс совпадает с обоими моникерами.

При результате 0x000401E6 граница диагностики проходит внутри подсистемы «COM/WinRT», в области «контракт вызываемого interface, аргументы и state объекта». Здесь сообщение «общий префикс совпадает с обоими моникерами» связано с темой «mk, us».

Что проверить и как подтвердить исправление

Сначала сопоставьте первый отказ с фактическими параметрами операции. Для 0x000401E6 в условии «общий префикс совпадает с обоими моникерами» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Чтобы локализовать 0x000401E6, соберите IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, IMoniker::CommonPrefixWith, IMoniker::IsEqual, ID, IDs. Затем для 0x000401E6 сравните исправный и неуспешный запуск в части «mk, us», меняя одно условие за раз.

После локализации 0x000401E6 действуйте по контракту подсистемы: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Для 0x000401E6 и условия «общий префикс совпадает с обоими моникерами» неизменённый повтор без нового состояния не считается исправлением.

Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x000401E6 это надёжнее единичного успеха на других данных.

Документация для результата 0x000401E6: COM moniker status codes · IMoniker::CommonPrefixWith · IMoniker::IsEqual.


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

Exit mobile version