| Предыдущий | Следующий |
| RPC_E_REMOTE_DISABLED | RPC_E_NO_CONTEXT |
RPC_E_INVALID_OBJREF
Интерпретация результата
RPC_E_INVALID_OBJREF (0X8001011D) означает: маршалированный пакет COM OBJREF имеет неизвестный или недопустимый формат. Код следует трактовать в контексте конкретного API transition; одинаковая severity у другого HRESULT не делает причины эквивалентными.
Английский маркер для сопоставления с исходной документацией: The marshaled interface data packet (OBJREF) has an invalid or unknown format.
. Используйте его как поисковый ключ вместе с timestamp и transaction/session ID.
Что сохранить
- interface IID/method, proxy или interface identity и object generation.
- origin/current thread, COM apartment и путь marshaling/unmarshaling.
- размер/hash OBJREF или proxy/stub version и первый HRESULT до wrapper.
Код-специфическая проверка
Проверяйте сигнатуру OBJREF, type/extent, IPID/OXID/OID и custom-marshaler payload до попытки повторного unmarshaling.
Сохраните точное представление входа до нормализации: XML/SDP/SIP fragment, URI, address tuple или object state. Ошибку следует локализовать по первому отклонённому полю и offset, а не исправлять широким пересозданием профиля.
Восстановление
Исправьте одно доказанно недопустимое поле или state transition. Контрольный запуск должен отличаться от исходного только этим изменением.
После изменения повторите тот же вызов и сравните первый HRESULT, достигнутую фазу и побочные эффекты. Исправление подтверждено только если прежнее условие «маршалированный пакет COM OBJREF имеет неизвестный или недопустимый формат» больше не возникает на сопоставимом входе.
Технические ссылки
- Microsoft: COM RPC error codes.
- Microsoft: IMessageFilter.
- Microsoft: RetryRejectedCall.
- Microsoft: CoInitialize.
Нужно найти другой код? Найти другой код состояния или ошибки.