| Previous | Next |
| MQ_ERROR_MQIS_READONLY_MODE | MQ_ERROR_SIGNATURE_BUFFER_TOO_SMALL |
MQ_ERROR_SYMM_KEY_BUFFER_TOO_SMALL
Operational meaning
Applications should keep MQ_ERROR_SYMM_KEY_BUFFER_TOO_SMALL attached to the exact MSMQ call that produced it. The result marks destination symmetric-key property buffer. Encrypted/foreign-message key material has its own length contract and must remain binary.
A receive API may preserve the message when a property buffer is insufficient, but code must verify the documented behavior for the specific property and action. When diagnosing this result, A destructive retry without that check risks loss or duplication.
Buffer capacity should be logged in bytes or characters exactly as the API defines it. Converting lengths between UTF-16 characters, bytes, and array elements is a common source of repeated failures.
Where the condition occurs
| Subsystem | caller-owned output buffers paired with MSMQ length properties |
|---|---|
| Relevant condition | the API can know the required length even when the supplied storage cannot hold the complete value |
| Code-specific focus | destination symmetric-key property buffer |
This is not automatically an out-of-memory condition. It describes caller-provided capacity for a particular returned property and often has a deterministic resize path. The code-specific boundary is destination symmetric-key property buffer.
Evidence to preserve
- Declared capacity, returned required length, and element type.
- Whether the operation consumed or retained the message.
- The property-specific length field returned by the same call.
Handling and recovery
Resize from the companion length value and avoid logging the key bytes.
Nearby failures
The condition is not evidence of low system memory. It describes the capacity and representation of one caller-owned output area. Code-specific condition: destination symmetric-key property buffer.
Worked example
A receiver that sizes output buffers encounters it. It uses the returned required length, keeps the operation non-destructive, and retries with correctly typed storage.
References
Looking for a different code? Search another status or error code.