| Предыдущий | Следующий |
| TYPE_E_OUTOFBOUNDS | TYPE_E_CANTCREATETMPFILE |
TYPE_E_IOERROR
Что означает результат
При результате TYPE_E_IOERROR (0X80028CA2) локализуйте операцию внутри COM Automation type library and ITypeInfo metadata resolution. Практическая граница — I/O ошибка; поздняя обёртка может скрыть исходный command, policy или lifecycle-state.
Type compiler, importer, proxy generator и runtime ITypeInfo consumer могут возвращать тот же TYPE_E_* на разных boundaries, поэтому producer/toolchain version входит в evidence.
Конкретные признаки из исходного EN-описания
the result is HRESULT 2147650722 ( 0x80028CA2 ) from winerror.h.
AllStat describes it as “I/O Error.” The result belongs to loading, saving, registering, or generating a TLB resource or file.
The TLB file is truncated or stored on an unavailable share.
An antivirus or deployment process races the generator while it writes the file.
Что сохранить до retry
- LIBID/version/LCID/SYSKIND и TYPEKIND.
- GUID/MEMBERID/HREFTYPE либо FUNCDESC/TYPEDESC, проверяемые операцией.
- точный LoadTypeLib/ITypeInfo/registration boundary и первый HRESULT.
После изменения IDL/type library проверяйте согласованность 32/64-bit artifacts и imported versions, а не копируйте отдельную DLL как универсальное исправление.
Проверка причинной границы
Проверьте condition «I/O ошибка» на том же API и object generation. Изменение одного prerequisite должно убрать этот HRESULT или сдвинуть первый отказ к другой конкретной границе.
Проверьте metadata graph для условия «I/O ошибка»: registration, module kind, member lookup, TYPEKIND и imported library version дают разные TYPE_E_* даже в одном toolchain.
Исправление и повтор
Исправьте metadata/type-library condition «I/O ошибка», пересоберите или зарегистрируйте согласованный versioned artifact и повторите минимальный LoadTypeLib/ITypeInfo scenario.
Технические ссылки
- Microsoft: COM error codes for TYPE_E and OLE.
- Microsoft: LoadTypeLib.
- Microsoft: CreateTypeLib2.
- Microsoft: ITypeInfo.
Нужно найти другой код? Найти другой код состояния или ошибки.
