| Предыдущий | Следующий |
| SL_E_INVALID_TEMPLATE_ID | SL_E_VALIDATION_BLOB_PARAM_NOT_FOUND |
SL_E_INVALID_XML_BLOB
Что означает этот результат
HRESULT 0XC004C2FA фиксирует границу Software Protection Platform и объекта лицензии: XML blob licensing-данных не проходит разбор или структурную проверку. Причину ищут на операции, которая первой вернула код, а не на последующем retry, cleanup или UI refresh.
Для точного поиска в исходной документации сохраните точная формулировка границы: Windows genuine validation and Software Protection integrity checks
. Этот EN-маркер относится именно к текущему HRESULT и помогает не спутать его с соседним licensing status.
Что сохранить
- Application ID/Activation ID, edition/SKU и partial key.
- license/policy/binding object и его generation/state.
- первый Security-SPP/validation event перед UI-сообщением.
Маркеры имени результата — недопустим / XML / blob — задают, какие поля должны различаться между failing и working trace. Не публикуйте полный product key, токены, private key material или необработанные hardware identifiers.
Как проверить границу
Определите, что именно отверг parser/validator: формат, версию, подпись, binding, rule или field value. Не подменяйте это общим «ошибка активации».
В контрольном тесте оставьте product identity неизменной и меняйте только компонент, связанный с «XML blob licensing-данных не проходит разбор или структурную проверку». Если первым появляется другой HRESULT, это уже новая причинная точка и её нужно расследовать отдельно.
- Сопоставьте failure с evidence уровня «XML blob licensing-данных не проходит разбор или структурную проверку».
- Зафиксируйте 0XC004C2FA, UTC-время и identity объекта до автоматического retry.
Корректирующее действие
Замените только недопустимый artifact/value на поддерживаемый источник и повторите ту же validation boundary.
Технические ссылки
- Microsoft Win32 metadata: winerror.h.
- Microsoft: SLIsGenuineLocal function.
- Microsoft: SoftwareLicensingProduct WMI class.
- Microsoft: Rebuild the Tokens. Dat file.
Нужно найти другой код? Найти другой код состояния или ошибки.