What does Windows error code 2012 (ERROR_TAG_NOT_FOUND) mean?

 
Previous Next
ERROR_INVALID_PROFILE ERROR_TAG_NOT_PRESENT

ERROR_TAG_NOT_FOUND

The specified color-profile tag was not found.

ERROR_TAG_NOT_FOUND is Win32 error 2012 (0x7DC). ICC profiles contain a tag table whose signatures identify elements such as descriptions, white points, tone curves, matrices, or lookup tables. This result means the caller requested a particular tag and no matching entry was found in the profile being queried.

Why a tag lookup misses

  • the caller uses the wrong four-byte tag signature or applies a tag expected for another profile class/version
  • the profile is valid but legitimately omits an optional element and expects a different transform path
  • code assumes all monitor, printer, device-link, abstract, or named-color profiles share the same tag set
  • an edited/generated profile failed to add the intended tag or removed it during optimization
  • the handle refers to a different profile than the path or device shown in the user interface

Tag-level evidence

Log the profile hash, class, ICC version, data color space, PCS, requested tag signature in readable and hexadecimal form, tag count, enumerated tag signatures, API, and profile source. Avoid recording full proprietary tag payloads unless needed in a protected diagnostic bundle. Confirm whether the profile is ICC; legacy tag APIs do not apply to WCS CAMP/DMP/GMMP profiles in the same way.

How to diagnose

Enumerate tags using GetCountColorProfileElements and GetColorProfileElementTag. Check the ICC specification expectations for this profile class and rendering path. Do not infer corruption solely from absence of an optional tag.

Verify the exact profile handle and device association. Test a known-good profile of the same class. If the application needs semantically equivalent data available through another tag arrangement, use a documented fallback instead of hard-coding one vendor layout.

Recovery

Select a profile containing the required element, regenerate the profile through the calibration/tooling pipeline, or handle the optional absence explicitly. Do not fabricate colorimetric data merely to satisfy the lookup.

Developers should validate required tag sets at import time, distinguish optional from mandatory tags, and report the missing signature and profile class. Cache tag availability per profile hash, not just file name.

Difference from ERROR_TAG_NOT_PRESENT

ERROR_TAG_NOT_FOUND commonly follows lookup of a requested signature. ERROR_TAG_NOT_PRESENT emphasizes that an operation requires a tag that the profile lacks; the latter usually reflects a mandatory prerequisite for that operation.

Example

A proofing module requests a printer-specific lookup-table tag from a simple matrix monitor profile. The profile is valid, but lookup returns 2012. Selecting the correct printer profile or using the monitor transform path resolves the class mismatch.

References


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