What does HRESULT 0xC004E003 (SL_E_EVALUATION_FAILED) mean?

 
Previous Next
SL_E_TOKEN_STORE_INVALID_STATE SL_E_NOT_EVALUATED

SL_E_EVALUATION_FAILED

What this Software Protection result isolates

SL_E_EVALUATION_FAILED (0xC004E003) is emitted by the logical license and token repository. It marks a specific point inside the repository layer that initializes licensing context, locates token records, parses properties, serializes files and synchronizes concurrent access: the rules engine attempted license evaluation but could not produce a valid result.

This distinction matters because evaluation was attempted; NOT_EVALUATED means no completed evaluation exists. A later “not licensed” state should not replace the first exact HRESULT in logs.

What to capture before recovery

  • file path, access result and Security-SPP event
  • target Application ID and Activation ID
  • token or license identifier
  • property name, type and serialized value
  • store initialization and mutex state

Where it sits in the licensing pipeline

The logical token repository sits below product activation: a missing, unreadable or inconsistent token can prevent evaluation before any server request occurs. To verify this, capture exact Activation ID, input licenses/policies, preceding store or crypto error and LicenseStatusReason.

Store initialization, property parsing, file I/O and synchronization failures require different repairs even when the activation UI shows the same unlicensed state.

Do not confuse it with these nearby results

ResultDifferent condition
SL_E_NOT_EVALUATEDCompared with this result, the requested license state has not yet been evaluated for this context or generation.
SL_E_TOKEN_STORE_INVALID_STATECompared with this result, the logical license repository contains mutually inconsistent state that prevents reliable evaluation.
SL_E_INVALID_CONTEXTCompared with this result, the licensing operation received a context that is missing, stale or belongs to another operation/product instance.

A reproducible troubleshooting path

  1. Record it, 0xC004E003, the exact API or service operation, and the affected product or protected object.
  2. Prove the specific condition: capture exact Activation ID, input licenses/policies, preceding store or crypto error and LicenseStatusReason.
  3. Compare the neighboring results below and identify which condition actually applies.

Actions that usually destroy useful evidence

  • Do not repeatedly installing keys while repository operations are failing.
  • Do not rename or replacing store files without preserving the original and following the supported rebuild sequence.

Recommended handling

Correct the earliest input/store/policy failure and refresh the same product instance.

Representative case: A product has installed licenses, but one required policy input cannot be parsed during evaluation.

Technical references


Looking for a different code? Search another status or error code.