| Previous | Next |
| MQ_ERROR_ILLEGAL_OPERATION | MQ_ERROR_WKS_CANT_SERVE_CLIENT |
MQ_ERROR_WRITE_NOT_ALLOWED
Operational meaning
MQ_ERROR_WRITE_NOT_ALLOWED belongs to the Message Queuing HRESULT facility, but its useful meaning is narrower than a generic messaging failure. The result marks legacy directory database write lockout. The historical condition is associated with MQIS installation and is not a general queue write permission failure.
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.
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.
Where the condition occurs
| Subsystem | a legacy MSMQ 1.0/enterprise setup or compatibility path retained in mq.h |
|---|---|
| Relevant condition | the symbolic value may describe an obsolete component rather than a supported modern recovery action |
| Code-specific focus | legacy directory database write lockout |
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 directory database write lockout.
Evidence to preserve
- Whether a current api returned the value or an old log merely contains it.
- Windows and msmq version where the code was captured.
- Installation or migration component name and original event text.
Handling and recovery
Confirm the product generation and installation phase before acting.
Nearby failures
Do not copy retired DLLs or recreate obsolete registry topology until the originating MSMQ generation and component are proved. Code-specific condition: legacy directory database write lockout.
Worked example
Why the directory was intentionally read-only
It documents an MQIS-era installation interval in which database writes were blocked while another server was being installed. It is not the same as a queue DACL denial and should not lead to granting Send or Full Control rights. Capture installer ownership, setup phase, database/server identity, and the time at which the write gate was enabled.
- Determine whether the condition came from a live legacy installation or only from an archived event record.
- Do not terminate setup or edit compatibility registry state until ownership of the installation transaction is known.
- After the installation phase ends, verify the database state and repeat only an idempotent administrative write.
References
Looking for a different code? Search another status or error code.