Что означает код HRESULT 0x80040011 (OLE_E_CANTCONVERT)?

 
Также может означать:
КонстантаТипОС
TAPI_E_INVALCARDHRESULTWindows
Предыдущий Следующий
TAPI_E_INVALCALLSTATE TAPI_E_INVALCARD

OLE_E_CANTCONVERT

Точная граница сбоя

0x80040011 соответствует OLE_E_CANTCONVERT. Сообщение платформы: Не удаётся преобразовать объект. Этот результат возвращается при OleConvertOLESTREAMToIStorage, преобразовании класса или миграции формата объекта. Диагностический вопрос — существует ли вообще поддерживаемый путь преобразования объекта в запрошенное представление.

Какие данные собрать

  • Запишите этот HRESULT, 0x80040011, имя native-метода, ID процесса и потока, ID операции, сборку компонента, архитектуру и затраченное время.
  • Сохраните поколение объекта, идентичность link или storage, состояние активации, cookie advise, срок жизни окна и формат представления.
  • Сохраните IErrorInfo, расширенный статус поставщика, относящиеся к операции события устройства/storage и первый нижележащий сбой.
  • При обработке этого результата выполняйте unadvise только для активных cookies, освобождайте интерфейсы сервера и site в документированном порядке и сохраняйте storage, если пользователь отменил действие или состояние результата неясно.

Какие вероятные причины различать

  • Класс назначения не зарегистрирован.
  • Для исходного формата нет совместимого converter.
  • Преобразование привело бы к потере обязательных данных объекта.

Целевая диагностическая проверка

Воспроизведите тот же native-вызов с тем же объектом и меняйте по одному кандидату причины. Сохраните первый результат поставщика или нижнего слоя и сравните состояние объекта до очистки. Другой HRESULT после одного контролируемого изменения означает новую границу, а не доказывает полного исправления исходной операции.

Исправление

сохраните исходный объект, перечислите поддерживаемые преобразования и требуйте явного выбора пользователя для любой замены с потерями.

Проверка результата

После исправления повторите операцию, вернувшую OLE_E_CANTCONVERT. Убедитесь, что нужная API-операция завершилась и выходные данные, передача владения и сохраняемое состояние действительны; исчезновение диалога само по себе не означает успех.

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


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