What does HRESULT 0x8004166D (QPARSE_E_EXPECTING_REGEX_PROPERTY) mean?

 
Previous Next
QPARSE_E_EXPECTING_REGEX QPARSE_E_INVALID_LITERAL

QPARSE_E_EXPECTING_REGEX_PROPERTY

Regex matching lacks a string property target

QPARSE_E_EXPECTING_REGEX_PROPERTY is HRESULT 0x8004166D. Windows documents it as “Regular expressions require a property of type string.”

Exact contract boundary

This result belongs to legacy Windows query parsing and is returned while validating the property side of a regular-expression comparison. The exact condition is: the property is absent or resolves to numeric, date, binary or vector data.

Input or state defects

Incident record

  • Record canonical property before releasing the relevant objects.
  • Associate actual DBTYPE with the exact UTC timestamp and correlation identifier.
  • Compare failing and known-good values for regex operator under the same provider or handler version.
  • Record the source and normalization path of UI field type, not only its display form.
  • Record final parser input bytes before releasing the relevant objects.

How to isolate the cause

  1. Capture canonical property and actual DBTYPE at the call boundary that returns this result.
  2. Confirm the operation reached validating the property side of a regular-expression comparison with the intended regex operator.
  3. capture canonical identity and actual catalog type before constructing the regex node.

Restoration strategy

Allow regex only for string-valued properties and use type-appropriate alternatives elsewhere. Retrying identical parser bytes cannot succeed; regenerate the specific token or schema pairing that failed.

Scope of the result

Comparison with adjacent codes

QPARSE_E_UNSUPPORTED_PROPERTY_TYPE is broader; this value names the regex string-property requirement.

Developer and administrator guidance

Example from a search pipeline

A UI exposes regex for System.Size. The control changes to numeric range semantics.

Official Microsoft references


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