| Предыдущий | Следующий |
| MQ_ERROR_CANNOT_LOAD_MQDSSRV | MQ_ERROR_MESSAGE_NOT_FOUND |
MQ_ERROR_PROPERTIES_CONFLICT
Что означает MQ_ERROR_PROPERTIES_CONFLICT
MQ_ERROR_PROPERTIES_CONFLICT (0xC00E0087) — Два или более переданных свойства несовместимы. Например, при отправке сообщения нельзя одновременно задать PROPID_M_RESP_QUEUE и PROPID_M_RESP_FORMAT_NAME.
Нативный API MSMQ передаёт свойства массивами PROPID, значений и статусов. Идентификатор свойства, его VARTYPE, размер и допустимость зависят от конкретной операции, поэтому «правильное» свойство для чтения может быть запрещено при создании, отправке или изменении объекта.
Что проверить
- Сравните набор свойств как комбинацию, а не по одному: например, альтернативные формы одного адреса/response queue могут быть валидны отдельно, но запрещены одновременно.
- Сверьте, разрешено ли это свойство для конкретной функции и направления (input/output); существование PROPID не означает допустимость во всех API.
- Для массива свойств проверяйте status каждого элемента: один неверный элемент не должен теряться за общим HRESULT.
Как подтвердить исправление
После изменения сохраните тот же набор свойств и измените только спорный элемент; это позволяет доказать, что исправлен контракт MSMQ API, а не случайно обойдена сама операция.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.