What does HRESULT 0x80041659 (QPLIST_E_BAD_GUID) mean?

 
Previous Next
QPLIST_E_EXPECTING_GUID QPLIST_E_EXPECTING_PROP_SPEC

QPLIST_E_BAD_GUID

The property-set GUID token is malformed

QPLIST_E_BAD_GUID is the failure HRESULT 0x80041659 (-2147215783 signed; 2147751513 unsigned). Its severity bit is 1, facility is 4 (FACILITY_ITF), and code is 0x1659. AllStat describes it as “Invalid guid.”

Interpretation

This result belongs to legacy Windows property-list parsing and is returned while converting a present textual GUID into a binary property-set identifier. The exact condition is: the token is truncated, has invalid hexadecimal characters, incorrect hyphens/braces or invisible encoding characters. This stage matters because converting the result to a generic COM failure removes the information needed to choose the owner and retry policy.

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.

Concrete sources

  • a stale or transformed raw GUID token can make the component observe that the token is truncated, has invalid hexadecimal characters, incorrect hyphens/braces or invisible encoding characters.
  • an incomplete byte sequence hides the distinction needed to separate this HRESULT from a later catalog or service failure.
  • changes in first invalid offset between validation and execution can reproduce the result even when the user-visible input looks unchanged.
  • Retrying this result with the same authoritative GUID leaves the decisive contract violation intact.
  • This result can appear when template substitution disagrees with the state expected while converting a present textual GUID into a binary property-set identifier.

The strongest hypothesis for this HRESULT must account for the operation—converting a present textual GUID into a binary property-set identifier—and the documented condition. Rejection of the property list does not yet distinguish file access, tokenization, type composition, GUID syntax or duplicate-definition failure.

Observability checklist

  • associate raw GUID token with the exact UTC timestamp and correlation identifier.
  • compare failing and known-good values for byte sequence under the same provider or handler version.
  • record the source and normalization path of first invalid offset, not only its display form.
  • use authoritative GUID to test whether the failure belongs to parsing, execution, indexing or capability negotiation.
  • preserve template substitution before objects or work items are released.
  • associate property-list file identity and hash with the exact UTC timestamp and correlation identifier.

Evidence for this HRESULT should reflect what the component actually received. Hash the complete file if it is sensitive while retaining encoding, line, column, raw token class and the surrounding property declaration.

Investigation order

  1. Capture raw GUID token and byte sequence at the call boundary that returns this result.
  2. confirm the operation reached converting a present textual GUID into a binary property-set identifier with the intended first invalid offset.
  3. perform the decisive check: record the raw bytes and first invalid character, then compare with the authoritative schema GUID.
  4. reduce the case until changing authoritative GUID alone changes the HRESULT or proves it irrelevant.
  5. apply the recovery only after verifying template substitution; preserve the original result for comparison.

A useful control for this HRESULT changes one dimension at a time. 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.

Corrective action

Replace it with the canonical identifier only after strict parsing succeeds. Retry it only after the responsible input or state changes and the previous operation has completed or been cancelled. Delay cannot repair a deterministic file, token or type-grammar defect; retry only after the property list or its readable source changes.

What must not be inferred

It does not prove that every property definition is unusable or that reindexing is required; it identifies a property-list read or grammar boundary. Without code-specific evidence for this HRESULT, the value also cannot identify which wrapper, configuration, handler or service transition introduced the condition.

Neighboring status codes

QPLIST_E_EXPECTING_GUID reports an absent field rather than malformed syntax. Keep the symbolic HRESULT beside the stage name in telemetry because nearby constants may require different owners, user messages and retry rules despite the same visible symptom.

Developer and administrator guidance

Retain the property-list file hash, encoding, parser version, line and column, raw token and expected grammar production. Do not log credentials or unrestricted document content. Before replacing the whole property configuration for this HRESULT, validate a copied file and preserve the exact failing location.

Reproduction example

A template removes the last hexadecimal digit with the closing brace. Strict generation-time parsing catches the exact defect. A regression test for this HRESULT should assert the decisive evidence, change only the responsible condition, and include one neighboring HRESULT so future code cannot collapse distinct failures into a generic message.

Official Microsoft references


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