| Previous | Next |
| MQ_ERROR_LABEL_BUFFER_TOO_SMALL | MQ_ERROR_MQIS_READONLY_MODE |
MQ_ERROR_MQIS_SERVER_EMPTY
Why the exact HRESULT matters
When MQ_ERROR_MQIS_SERVER_EMPTY 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 legacy MQIS server list is empty. This is tied to pre-AD DS enterprise configuration stored for old MSMQ deployments.
Establish the originating binary, operating-system build, MSMQ generation, and migration phase. When diagnosing this result, if those cannot be proved, treat the code as historical context rather than a current configuration prescription.
When diagnosing this result, A legacy code found in an event archive is evidence about the deployment generation., copying old DLLs or registry settings into a current Windows installation can make the system less recoverable.
Subsystem context
| Subsystem | a legacy MSMQ 1.0/enterprise setup or compatibility path retained in mq.h |
|---|---|
| Decisive boundary | the symbolic value may describe an obsolete component rather than a supported modern recovery action |
| Code-specific focus | legacy MQIS server list is empty |
| Primary recovery rule | Do not create registry values on a modern system without proving that the legacy path is active. |
When diagnosing this result, compatibility names can outlive the component that once emitted them., remediation must match the historical architecture, not only the symbolic text. The code-specific boundary is legacy MQIS server list is empty.
Minimum useful telemetry
- Installation or migration component name and original event text; associate it explicitly with this result.
- When diagnosing it, whether a current api returned the value or an old log merely contains it; capture the value before cleanup or retry changes it.
- In the path, windows and msmq version where the code was captured; compare it with a known-good call using the same account and queue type.
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.
Step-by-step diagnosis
- Record the unsigned HRESULT, it, and the native API or COM method before a framework replaces it with a generic exception.
- When diagnosing it, verify the postcondition after the failed call: queue existence, message presence, directory object state, transaction outcome, or generated output may differ by result.
- In the path, capture Windows and MSMQ version where the code was captured.
- capture installation or migration component name and original event text.
- When diagnosing it, apply the code-specific recovery rule: Do not create registry values on a modern system without proving that the legacy path is active.
Retry and cleanup
Do not create registry values on a modern system without proving that the legacy path is active.
When diagnosing it, do not hide this HRESULT behind an unlimited framework retry., require a verified precondition change and preserve the original correlation identifier across the next attempt.
Avoiding a false diagnosis
In the path, do not copy retired DLLs or recreate obsolete registry topology until the originating MSMQ generation and component are proved. The specific focus for it remains legacy MQIS server list is empty.
- In the path, A successful test under an interactive administrator account does not prove that the production service account has the same profile, token, directory access, or key permissions.
- restarting MSMQ before collecting evidence can invalidate handles and erase the first useful event; it is a containment action, not a root-cause diagnosis.
Example
A migration assistant encounters it. It identifies the originating MSMQ generation and uses migration documentation instead of modifying a current installation blindly.
Automated coverage should preserve the original arrays/identities, confirm that cleanup is safe after it, and test that a retry does not duplicate messages or directory objects.
References
- Microsoft Open Specifications: MSMQ protocols overview — source used for the result analysis.
- Microsoft: Message Queuing error and information codes — source used for the result analysis.
- Microsoft: Message Queuing overview — source used for the result analysis.
Looking for a different code? Search another status or error code.
