| Previous | Next |
| COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE | COMQC_E_BAD_MESSAGE |
COMQC_E_NO_IPERSISTSTREAM
COMQC_E_NO_IPERSISTSTREAM means that COM+ cannot marshal the interface call into a queued message because the required persistence/recording path does not support IPersistStream.
The contract behind the HRESULT
Queued Components cross several independent layers: call recording, MSMQ transport, message authentication, listener playback, and execution of the business method. Message ID, queue format name, original sender, any mover or requeuer, and the COM+ application version are the keys that join those layers without treating every queue symptom as the same fault.
MSMQ availability cannot repair an interface that cannot be serialized into the queued-component recording format.
Diagnostic worksheet
- Interface IID, proxy/stub/type-library metadata, and object implementing persistence
- Method parameter types and any interface/object parameters
- IPersistStream QueryInterface result and Save/Load behavior
- Recorded message size and failure point before MSMQ submission
Reproduce the condition safely
- Replace complex object parameters with simple value data in a test interface.
- Exercise IPersistStream Save/Load round-trip independently.
- Compare a known queueable interface from the same application.
Nearby states and false leads
Use the outcomes to narrow the layer rather than to accumulate unrelated fixes for queued-call serialization contract:
Closing the incident
A defensible correction is specific to the evidence: Redesign the queueable contract around durable value parameters or correctly implement deterministic IPersistStream persistence.
Close the incident only when recorded calls serialize, deserialize, and replay across process restart and version compatibility tests.
Technical references
Looking for a different code? Search another status or error code.