Что означает код HRESULT 0x8001000C (RPC_E_CLIENT_CANTUNMARSHAL_DATA)?

 
Предыдущий Следующий
RPC_E_CLIENT_CANTMARSHAL_DATA RPC_E_SERVER_CANTMARSHAL_DATA

RPC_E_CLIENT_CANTUNMARSHAL_DATA

Что означает результат

RPC_E_CLIENT_CANTUNMARSHAL_DATA: RPC-клиент получил ответ сервера, но не смог unmarshalling возвращённых данных в ожидаемое представление. Это клиентская стадия обработки ответа; серверный метод к этому моменту уже мог выполнить побочные действия.

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

  • Сохраните interface IID, method/opnum и тип параметра, на котором клиентский stub завершил unmarshalling.
  • Сопоставьте версии proxy/stub или type library на клиенте и сервере, особенно после частичного обновления компонентов.
  • Проверьте размеры массивов, discriminated unions, указатели, alignment и фактические данные out/return parameters.
  • Перед retry выясните, успел ли сервер завершить неидемпотентную операцию, поскольку ошибка возникла при разборе ответа.

Диагностика и исправление

Исправьте несовместимость wire contract или повреждённые возвращаемые данные. Слепой повтор RPC опасен для методов с побочными эффектами и не исправляет несовместимый stub.

Ссылки по этому результату


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