Site icon EfmSoft

What does HRESULT 0xC00E005C (MQ_ERROR_ILLEGAL_SORT_PROPID) mean?

 
Previous Next
MQ_ERROR_ILLEGAL_CONTEXT MQ_ERROR_LABEL_TOO_LONG

MQ_ERROR_ILLEGAL_SORT_PROPID

Operational meaning

When MQ_ERROR_ILLEGAL_SORT_PROPID appears, start with the queue operation and its property arrays rather than with a broad repair of the Message Queuing service. Its diagnostic boundary is sort property is not eligible. The requested column cannot be used as an AD DS sort key even if it can be returned or filtered.

For MQ_ERROR_ILLEGAL_SORT_PROPID, MQLocateBegin searches public queues registered in the directory; it does not enumerate arbitrary private queues. When diagnosing MQ_ERROR_ILLEGAL_SORT_PROPID, its restriction, projection, and sort structures are translated into a directory-backed query.

When diagnosing MQ_ERROR_ILLEGAL_SORT_PROPID, the locator observes a directory snapshot beginning when MQLocateBegin is called. In the MQ_ERROR_ILLEGAL_SORT_PROPID path, newly replicated objects and properties unsupported as columns or sort keys can produce results that differ from direct queue access.

Where to draw the boundary

SubsystemMQLocateBegin directory queries over public-queue metadata
Decisive boundaryquery restrictions, selected columns, and sort keys must be valid for the AD DS-backed locator
Code-specific focussort property is not eligible
Primary recovery ruleSort by a supported property or order results after retrieval.

When diagnosing MQ_ERROR_ILLEGAL_SORT_PROPID, separate a malformed query structure from an AD DS availability error. In the MQ_ERROR_ILLEGAL_SORT_PROPID path, repeating the same invalid MQSORTSET or MQRESTRICTION against another domain controller will not repair it. For MQ_ERROR_ILLEGAL_SORT_PROPID, the code-specific boundary is sort property is not eligible.

Evidence to preserve

For MQ_ERROR_ILLEGAL_SORT_PROPID, log certificate thumbprints, provider names, SIDs, GUIDs, lengths, and hashes where useful, but do not log private keys, symmetric keys, credentials, or confidential message bodies.

Diagnostic sequence

  1. Record the unsigned HRESULT, MQ_ERROR_ILLEGAL_SORT_PROPID, and the native API or COM method before a framework replaces it with a generic exception.
  2. Capture MQRESTRICTION, MQCOLUMNS, and MQSORTSET as submitted.
  3. Reproduce with the smallest queue/message/property set that still returns MQ_ERROR_ILLEGAL_SORT_PROPID; change one precondition at a time.
  4. For this MQ_ERROR_ILLEGAL_SORT_PROPID result, verify the postcondition after the failed call: queue existence, message presence, directory object state, transaction outcome, or generated output may differ by result.
  5. For MQ_ERROR_ILLEGAL_SORT_PROPID, capture the exact property used for filtering, projection, or ordering.
  6. When diagnosing MQ_ERROR_ILLEGAL_SORT_PROPID, apply the code-specific recovery rule: Sort by a supported property or order results after retrieval.

Handling and recovery

Sort by a supported property or order results after retrieval.

When diagnosing MQ_ERROR_ILLEGAL_SORT_PROPID, an immediate loop around the same call is not recovery. In the MQ_ERROR_ILLEGAL_SORT_PROPID path, define who owns cancellation, handle recreation, transaction reconciliation, and duplicate suppression before another attempt is issued.

Nearby failure boundaries

A directory query shape error is deterministic. For this MQ_ERROR_ILLEGAL_SORT_PROPID result, switching domain controllers cannot make an unsupported column, relation, or sort key valid. The specific focus for MQ_ERROR_ILLEGAL_SORT_PROPID remains sort property is not eligible.

Worked example

A migration inventory tool encounters MQ_ERROR_ILLEGAL_SORT_PROPID. For MQ_ERROR_ILLEGAL_SORT_PROPID, it captures the restriction/column/sort structures and validates the query before testing directory availability. When diagnosing MQ_ERROR_ILLEGAL_SORT_PROPID, the acceptance test then changes only the decisive precondition and confirms both the HRESULT and the actual queue/message state.

For MQ_ERROR_ILLEGAL_SORT_PROPID, include a negative test for the nearest misleading diagnosis so monitoring and user guidance do not collapse distinct MSMQ failures into one alert.

References


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

Exit mobile version