| Previous | Next |
| MQ_INFORMATION_ILLEGAL_PROPERTY | MQ_INFORMATION_UNSUPPORTED_PROPERTY |
MQ_INFORMATION_PROPERTY_IGNORED
What this result actually narrows down
The important part of MQ_INFORMATION_PROPERTY_IGNORED is not only whether the call failed, but which MSMQ subsystem had enough information to return this specific result. Its diagnostic boundary is operation-specific property suppression. A property can be valid in MSMQ generally yet meaningless for the selected API; sender identity on SendMessage is the classic example.
For MQ_INFORMATION_PROPERTY_IGNORED, A warning returned from a queue or message property call can describe only one element while the other elements and the primary operation succeeded. When diagnosing MQ_INFORMATION_PROPERTY_IGNORED, preserve both the returned object state and the element-level status.
When diagnosing MQ_INFORMATION_PROPERTY_IGNORED, MSMQ property structures can include an optional status array parallel to the property identifiers and values. In the MQ_INFORMATION_PROPERTY_IGNORED path, A nonfatal top-level result therefore does not replace inspection of individual entries.
MSMQ objects involved
| Subsystem | the per-property status channel used by MSMQ APIs |
|---|---|
| Decisive boundary | the call may complete while one array element is rejected, ignored, duplicated, or still pending |
| Code-specific focus | operation-specific property suppression |
| Primary recovery rule | Treat the ignored field as absent and verify whether MSMQ generated its own value. |
When diagnosing MQ_INFORMATION_PROPERTY_IGNORED, unlike an error HRESULT, this informational value can accompany a completed operation. In the MQ_INFORMATION_PROPERTY_IGNORED path, it must still be handled because ignored or duplicate properties can change the stored result. For MQ_INFORMATION_PROPERTY_IGNORED, the code-specific boundary is operation-specific property suppression.
Triage data
- Whether an output object or queue was nevertheless created; associate it explicitly with
MQ_INFORMATION_PROPERTY_IGNORED. - When diagnosing
MQ_INFORMATION_PROPERTY_IGNORED, the function result and every entry of the optional astatus array; capture the value before cleanup or retry changes it. - In the
MQ_INFORMATION_PROPERTY_IGNOREDpath, the matching apropid and mqpropvariant index; compare it with a known-good call using the same account and queue type. - For this
MQ_INFORMATION_PROPERTY_IGNOREDresult, record the queue path or format name, local/remote placement, transactional flag, caller SID, process build, and UTC correlation ID when they apply.
For MQ_INFORMATION_PROPERTY_IGNORED, 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.
A safe investigation order
- Record the unsigned HRESULT,
MQ_INFORMATION_PROPERTY_IGNORED, and the native API or COM method before a framework replaces it with a generic exception. - Capture the matching aPropID and MQPROPVARIANT index.
- Reproduce with the smallest queue/message/property set that still returns
MQ_INFORMATION_PROPERTY_IGNORED; change one precondition at a time. - For this
MQ_INFORMATION_PROPERTY_IGNOREDresult, verify the postcondition after the failed call: queue existence, message presence, directory object state, transaction outcome, or generated output may differ by result. - For
MQ_INFORMATION_PROPERTY_IGNORED, capture the function result and every entry of the optional aStatus array. - When diagnosing
MQ_INFORMATION_PROPERTY_IGNORED, apply the code-specific recovery rule: Treat the ignored field as absent and verify whether MSMQ generated its own value.
Correct response
Treat the ignored field as absent and verify whether MSMQ generated its own value.
When diagnosing MQ_INFORMATION_PROPERTY_IGNORED, an immediate loop around the same call is not recovery. In the MQ_INFORMATION_PROPERTY_IGNORED path, define who owns cancellation, handle recreation, transaction reconciliation, and duplicate suppression before another attempt is issued.
What this code is not
In the MQ_INFORMATION_PROPERTY_IGNORED path, do not treat a nonzero informational HRESULT as proof that the primary operation failed. For this MQ_INFORMATION_PROPERTY_IGNORED result, verify the completed effect and the individual property status. The specific focus for MQ_INFORMATION_PROPERTY_IGNORED remains operation-specific property suppression.
- In the
MQ_INFORMATION_PROPERTY_IGNOREDpath, granting broad queue or certificate permissions may mask the symptom while creating a security defect. For thisMQ_INFORMATION_PROPERTY_IGNOREDresult, test the exact identity and access needed by the operation. - For this
MQ_INFORMATION_PROPERTY_IGNOREDresult, changing queue names, deleting directory objects, or recreating certificates without reconciliation can create a second object while callers still reference the first.
Example failure path
A queue provisioning tool encounters MQ_INFORMATION_PROPERTY_IGNORED. For MQ_INFORMATION_PROPERTY_IGNORED, it records both the successful primary effect and the property warning, then corrects only the affected field. When diagnosing MQ_INFORMATION_PROPERTY_IGNORED, the acceptance test then changes only the decisive precondition and confirms both the HRESULT and the actual queue/message state.
For MQ_INFORMATION_PROPERTY_IGNORED, include a negative test for the nearest misleading diagnosis so monitoring and user guidance do not collapse distinct MSMQ failures into one alert.
Technical references
- Microsoft: MSMQ message properties — source used for the
MQ_INFORMATION_PROPERTY_IGNOREDanalysis. - Microsoft: Message Queuing overview — source used for the
MQ_INFORMATION_PROPERTY_IGNOREDanalysis. - Microsoft: Message Queuing error and information codes — source used for the
MQ_INFORMATION_PROPERTY_IGNOREDanalysis. - Microsoft: queue properties and MQQUEUEPROPS — source used for the
MQ_INFORMATION_PROPERTY_IGNOREDanalysis.
Looking for a different code? Search another status or error code.