| Предыдущий | Следующий |
| 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-проблемы.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
