Что означает код HRESULT 0x400E0005 (MQ_INFORMATION_DUPLICATE_PROPERTY)?

 
Предыдущий Следующий
MQ_INFORMATION_UNSUPPORTED_PROPERTY MQ_INFORMATION_OPERATION_PENDING

MQ_INFORMATION_DUPLICATE_PROPERTY

Что означает MQ_INFORMATION_DUPLICATE_PROPERTY

MQ_INFORMATION_DUPLICATE_PROPERTY (0x400E0005) — Указанное свойство уже присутствует в массиве идентификаторов свойств.

Результат 0x400E0005 пришёл из подсистемы «COM/WinRT» при работе с областью «контракт вызываемого interface, аргументы и state объекта». Для сообщения «указанное свойство уже присутствует в массиве идентификаторов свойств» практический предмет проверки — «mq, information, дубликат, свойство».

Что проверить и как подтвердить исправление

Первый шаг — сопоставьте первый отказ с фактическими параметрами операции. Когда при 0x400E0005 система сообщает «указанное свойство уже присутствует в массиве идентификаторов свойств», установите идентичность и владельца уже существующего объекта; не создавайте второй экземпляр, пока не проверен жизненный цикл первого.

Диагностика 0x400E0005 должна включать IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, ID. Для темы «mq, information, дубликат, свойство» при 0x400E0005 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.

Исправляя 0x400E0005, меняйте только подтверждённую причину: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Результат 0x400E0005 с описанием «указанное свойство уже присутствует в массиве идентификаторов свойств» должен исчезнуть на исходных данных без обхода штатной проверки.

Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0x400E0005 и без обхода штатных проверок.

Документация для результата 0x400E0005: Message Queuing overview · Message Queuing error and information codes · queue properties and MQQUEUEPROPS.


Нужно найти другой код? Найти другой код состояния или ошибки.