| Previous | Next |
| ERROR_TAG_NOT_PRESENT | ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE |
ERROR_DUPLICATE_TAG
The color profile already contains the specified tag.
ERROR_DUPLICATE_TAG is Win32 error 2014 (0x7DE). ICC tag tables identify elements by signature. An operation that creates a new tag or tag reference cannot add a second independent entry with the same signature when the API expects uniqueness. The existing tag must be updated, referenced correctly, or deliberately replaced through a supported workflow.
How duplicate creation happens
- profile-generation code appends every element without checking the current tag table
- a retry repeats a successful write after losing confirmation and treats the operation as new
- two editing stages both claim ownership of the same standard or vendor tag signature
- code confuses creating a tag reference with updating data of an existing tag
- a profile copied from a template already contains the tag that customization tries to add
Edit telemetry
Record profile hash before editing, requested tag signature, existing tag index and data length, edit operation, profile version/class, transaction or generation ID, writer component, and resulting file hash. Keep a backup of the original profile. Do not log complete proprietary element data unless a protected engineering bundle requires it.
Diagnostic steps
Enumerate the tag table before modification and determine whether the existing tag is semantically the same data, a placeholder, or owned by another component. Check whether the API should be SetColorProfileElement for existing data or SetColorProfileElementReference for a new signature referencing another tag.
Review retry and transaction behavior. If the prior attempt already succeeded, compare hashes and accept the reconciled state. If the profile genuinely contains duplicate signatures before editing, reject or regenerate it rather than relying on ambiguous lookup order.
Recovery and safe editing
Update the existing tag through the documented API, choose a distinct valid signature for vendor data, or regenerate the profile from source measurements. Preserve atomic replacement so a failed edit does not leave a partially rewritten tag table.
Profile writers should preflight all signatures, define one owner per tag, and make generation deterministic. Validate the finished profile and compare expected tag inventory before deployment.
Difference from tag already present versus missing
Errors 2012 and 2013 report absent tags. Error 2014 is the opposite state: the requested signature is already present, and an add operation would violate tag uniqueness.
Example
A calibration tool copies a template containing a description tag and then unconditionally adds another description tag. The add returns 2014. Updating the existing tag and validating the rewritten profile produces one unambiguous description element.
References
- Microsoft: System Error Codes (1700–3999)
- Microsoft: Win32 Error Codes in MS-ERREF
- Microsoft: SetColorProfileElement
- Microsoft: SetColorProfileElementReference
Looking for a different code? Search another status or error code.
