Что означает код HRESULT 0x80010110 (RPC_E_VERSION_MISMATCH)?

 
Предыдущий Следующий
RPC_E_THREAD_NOT_INIT RPC_E_INVALID_HEADER

RPC_E_VERSION_MISMATCH

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

RPC_E_VERSION_MISMATCH означает, что версии OLE на клиентской и серверной машинах не совпадают. На практике особенно подозрительна частично обновлённая установка, где приложение, typelib и proxy/stub DLL оказались из разных комплектов.

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

  • Снимите версии фактически загруженных COM/OLE и proxy/stub DLL на обеих сторонах вызова.
  • Проверьте, что typelib, proxy/stub и COM server относятся к одной совместимой поставке.
  • Исключите старую зарегистрированную proxy DLL, оставшуюся после обновления.
  • Не ограничивайтесь номером версии приложения: важен весь marshalling contract между сторонами.

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

На согласованной паре компонентов тот же COM-вызов должен проходить без изменения аргументов. Это отличает version mismatch от обычной сетевой RPC-проблемы.

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


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