Site icon EfmSoft

Что означает код HRESULT 0x80010107 (RPC_E_INVALIDMETHOD)?

 
Предыдущий Следующий
RPC_E_CHANGED_MODE RPC_E_DISCONNECTED

RPC_E_INVALIDMETHOD

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

RPC_E_INVALIDMETHOD означает, что COM/RPC не может сопоставить удалённый вызов с методом целевого интерфейса. Типичная причина — несовместимые версии клиента и сервера, разные определения IDL либо устаревший proxy/stub после изменения бинарного контракта.

Что проверить

  • Сверьте IID интерфейса на стороне клиента и сервера и убедитесь, что используется одна версия определения.
  • Проверьте порядок методов в vtable и изменения IDL между сборками.
  • Сверьте зарегистрированный proxy/stub или библиотеку типов с фактически установленными DLL.
  • Исключите частичное обновление, при котором новый клиент обращается к старому серверу или наоборот.

Существующий COM-интерфейс нельзя безопасно расширять изменением его бинарной раскладки. Для новой функциональности создают версионированный интерфейс с новым IID. После исправления проверяйте активацию и простой вызов на чистой установке, где отсутствуют старые копии библиотек типов и proxy/stub.

Технические ссылки


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

Exit mobile version