Что означает код HRESULT 0x80045338 (FSRM_E_MESSAGE_LIMIT_EXCEEDED)?

 
Предыдущий Следующий
FSRM_E_CANNOT_AGGREGATE FSRM_E_OBJECT_IN_USE

FSRM_E_MESSAGE_LIMIT_EXCEEDED

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

FSRM_E_MESSAGE_LIMIT_EXCEEDED (0x80045338) — Достигнут предел количества сообщений, которые текущий контекст конвейера может добавить в набор свойств.

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

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

Не начинайте с общего сброса компонента: сопоставьте первый отказ с фактическими параметрами операции. При 0x80045338 и условии «достигнут предел количества сообщений, которые текущий контекст конвейера может добавить в набор свойств» снимите фактическое потребление и лимит ресурса в момент отказа, затем уменьшите нагрузку или освободите именно исчерпанный ресурс.

Чтобы локализовать 0x80045338, соберите IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите IFsrmPropertyBag::AddMessage, HRESULT. Затем для 0x80045338 сравните исправный и неуспешный запуск в части «fsrm, сообщение, лимит, exceeded», меняя одно условие за раз.

Коррекция для 0x80045338 должна быть предметной: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. Для 0x80045338 и сообщения «достигнут предел количества сообщений, которые текущий контекст конвейера может добавить в набор свойств» общий сброс допустим лишь как контроль, но не как доказательство причины.

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

Документация для результата 0x80045338: AddMessage · Property bag messages · Pipeline OnLoad.


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