What does HRESULT 0x8004165B (QPLIST_E_CANT_SET_PROPERTY) mean?

 
Previous Next
QPLIST_E_EXPECTING_PROP_SPEC QPLIST_E_DUPLICATE

QPLIST_E_CANT_SET_PROPERTY

The parsed property mapping could not be stored

QPLIST_E_CANT_SET_PROPERTY is HRESULT 0x8004165B. Windows documents it as “Failed to set property name.”

Legacy API stage

This result belongs to legacy Windows property-list parsing and is returned while committing a recognized name, identity and type into the query property-list object. The exact condition is: a name collision, identity/type mismatch, invalid parser state, allocation failure or provider constraint prevents registration.

This value belongs to the legacy property-list parser used to describe indexed properties and their types. Diagnose the external list as structured configuration: preserve line, column, token, type grammar and the property-list version instead of treating the file as arbitrary text. The exact public message comes from the legacy SDK contract; current property-system documentation does not replace the property-list grammar that rejected this file.

Why it appears

Rejection of the property list does not yet distinguish file access, tokenization, type composition, GUID syntax or duplicate-definition failure.

Developer evidence

  • Record the source and normalization path of property name, not only its display form.
  • Record DBTYPE before releasing the relevant objects.
  • Associate entry ordinal with the exact UTC timestamp and correlation identifier.
  • Compare failing and known-good values for provider error records under the same provider or handler version.
  • Record the source and normalization path of property-list file identity and hash, not only its display form.

Hash the complete file if it is sensitive while retaining encoding, line, column, raw token class and the surrounding property declaration.

Disciplined troubleshooting

  1. Capture property name and canonical identity at the call boundary that returns this result.
  2. Confirm the operation reached committing a recognized name, identity and type into the query property-list object with the intended DBTYPE.
  3. test the definition alone and compare all earlier mappings with the same name or property identity.

Begin with a one-property list accepted by the same parser, then restore the failing declaration token by token while preserving encoding and line endings.

Retry conditions

Resolve the mapping conflict or invalid metadata; preserve a one-entry reproducer if a valid definition still fails. Delay cannot repair a deterministic file, token or type-grammar defect; retry only after the property list or its readable source changes.

Misleading assumptions

It does not prove that every property definition is unusable or that reindexing is required; it identifies a property-list read or grammar boundary.

Related query outcomes

QPLIST_E_DUPLICATE explicitly proves a repeated property name; it is broader.

Developer and administrator guidance

Concrete troubleshooting case

A custom alias collides with a built-in name mapped to another GUID. Isolating the entry reveals the semantic conflict.

Official Microsoft references


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