| Предыдущий | Следующий |
| VFW_E_TOO_MANY_COLORS | VFW_E_STATE_CHANGED |
TPC_E_INITIALIZE_FAIL
Состояние объекта
Для TPC_E_INITIALIZE_FAIL (0X80040223) рабочая граница — инициализация / ошибка. Код относится к Tablet PC ink, stylus packet и recognizer API. Сохраняйте первый native return и identity объекта: именно они определяют, проверяется ли здесь input, capability, ownership, lifecycle или transport.
Ink, stroke и recognizer objects меняются при edit/delete/merge и смене context. Сохранённый ID может стать stale даже без изменения вызывающего кода.
Фрагменты исходного EN-описания
TPC_E_INITIALIZE_FAIL is HRESULT 2147746339 ( 0x80040223 ; signed -2147220957).
Capture 1 for this result: the exact interface or class being initialized and its inner HRESULT.
Capture 2 for this result: service, COM registration and device-enumeration state.
Capture 3 for this result: thread apartment, session type and component version.
Что сравнивать
- tablet/recognizer/ink object identity и lifecycle generation.
- stroke/packet/property ID и collection membership.
- thread/event ordering и первый Tablet PC HRESULT.
Packet descriptor, input rectangle, property ID и recognizer registration относятся к разным Tablet PC contract boundaries; проверяйте ровно то поле, которое названо кодом.
Изолированный тест
В failing trace найдите поле или state, которое непосредственно соответствует «инициализация / ошибка». В working trace той же операции оно должно отличаться, а остальные аргументы оставаться сопоставимыми.
Сопоставьте ink/tablet lifecycle с условием «инициализация / ошибка» и сохраните generation объекта, чтобы отличить stale reference от unsupported operation.
Повтор операции
Получите актуальный ink/tablet/recognizer object, исправьте конкретный descriptor/property/lifecycle condition и повторите минимальную операцию без replay устаревших strokes или packet sequence.
Специфика инициализации
Этот результат относится к созданию Tablet PC/ink infrastructure до обычной обработки strokes. Снимите отдельно факт наличия tablet service, успешность создания Ink/RealTimeStylus или recognizer context, CLSID выбранного recognizer и первый COM return. Если тот же recognizer создаётся в отдельном минимальном процессе, а приложение падает только после своей настройки callbacks или packet properties, причина находится выше системной инициализации. Если не создаётся и минимальный объект, проверяйте registration/runtime/device path, а не содержимое конкретного stroke.
Технические ссылки
- Microsoft: generic COM error codes.
- Microsoft: RealTimeStylus reference.
- Microsoft: StylusInput threading.
Нужно найти другой код? Найти другой код состояния или ошибки.
