Что означает код HRESULT 0x8001000E (RPC_E_SERVER_CANTUNMARSHAL_DATA)?

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

RPC_E_SERVER_CANTUNMARSHAL_DATA

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

RPC_E_SERVER_CANTUNMARSHAL_DATA означает, что сервер не смог разобрать параметры COM-вызова. Тело целевого метода может вообще не быть запущено, поэтому искать ошибку в его прикладной логике преждевременно.

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

  • Сверьте IDL, proxy/stub и type library у клиента и сервера.
  • Проверьте разрядность и версии развернутых компонентов.
  • В собственном marshaler проверяйте длины, выравнивание и версионные поля.
  • Для interface pointer убедитесь, что используется штатный COM marshaling между apartment/process boundaries.

Исправление — восстановить совместимый контракт сериализации и повторить тот же вызов. Изменение бизнес-данных не помогает, если сервер не может восстановить сам набор аргументов.

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


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