| Предыдущий | Следующий |
| TYPE_E_QUALIFIEDNAMEDISALLOWED | TYPE_E_WRONGTYPEKIND |
TYPE_E_INVALIDSTATE
Что означает TYPE_E_INVALIDSTATE
TYPE_E_INVALIDSTATE означает, что объект построения COM type library находится в состоянии, где запрошенный метод уже или ещё нельзя вызывать. Это прежде всего ошибка последовательности работы с builder API, а не признак повреждения готового typelib.
Что проверить
- Запишите порядок вызовов
ICreateTypeInfoиICreateTypeLibдо появления HRESULT. - Проверьте, не был ли уже выполнен layout или save для объекта, который код пытается продолжать изменять.
- Сопоставьте проблемный метод с допустимой фазой построения type info.
- Не повторяйте тот же вызов без изменения состояния builder: это воспроизводит ту же ошибку последовательности.
Как подтвердить исправление
После исправления порядка API-вызовов те же metadata должны создаваться и сохраняться без TYPE_E_INVALIDSTATE.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.