| Предыдущий | Следующий |
| MK_S_US | EVENT_S_SOME_SUBSCRIBERS_FAILED |
MK_S_MONIKERALREADYREGISTERED
Что означает MK_S_MONIKERALREADYREGISTERED
MK_S_MONIKERALREADYREGISTERED (0x000401E7) — Моникер уже зарегистрирован в таблице выполняющихся объектов.
В подсистеме «COM/WinRT» результат 0x000401E7 относится к области «контракт вызываемого interface, аргументы и state объекта». Описание «моникер уже зарегистрирован в таблице выполняющихся объектов» сужает проверку до темы «mk, monikeralreadyregistered».
Что проверить и как подтвердить исправление
В первую очередь сопоставьте первый отказ с фактическими параметрами операции. Для 0x000401E7 в сценарии «моникер уже зарегистрирован в таблице выполняющихся объектов» установите идентичность и владельца уже существующего объекта; не создавайте второй экземпляр, пока не проверен жизненный цикл первого.
Диагностика 0x000401E7 должна включать IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, IRunningObjectTable::Register, ID, IDs. Для темы «mk, monikeralreadyregistered» при 0x000401E7 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.
Коррекция для 0x000401E7 должна быть предметной: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Для 0x000401E7 и сообщения «моникер уже зарегистрирован в таблице выполняющихся объектов» общий сброс допустим лишь как контроль, но не как доказательство причины.
Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x000401E7 это надёжнее единичного успеха на других данных.
Документация для результата 0x000401E7: COM moniker status codes · IRunningObjectTable::Register · Running Object Table.
Нужно найти другой код? Найти другой код состояния или ошибки.