| Предыдущий | Следующий |
| MQ_ERROR_LABEL_TOO_LONG | MQ_ERROR_MQIS_SERVER_EMPTY |
MQ_ERROR_LABEL_BUFFER_TOO_SMALL
Что означает MQ_ERROR_LABEL_BUFFER_TOO_SMALL
MQ_ERROR_LABEL_BUFFER_TOO_SMALL (0xC00E005E) — Буфер метки, переданный API, слишком мал.
Код 0xC00E005E относится не ко всему компоненту «COM/WinRT», а к операции в области «контракт вызываемого interface, аргументы и state объекта». Сообщение «буфер метки, переданный api, слишком мал» позволяет начать с темы «mq, label, buffer, превышение, small».
Что проверить и как подтвердить исправление
Сначала сопоставьте первый отказ с фактическими параметрами операции. Для 0xC00E005E в условии «буфер метки, переданный api, слишком мал» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Чтобы локализовать 0xC00E005E, соберите IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите ID, HRESULT. Затем для 0xC00E005E сравните исправный и неуспешный запуск в части «mq, label, buffer, превышение, small», меняя одно условие за раз.
Практическое исправление для 0xC00E005E: исправьте параметры и жизненный цикл объекта в соответствии с контрактом первого неуспешного метода. В контексте условия «буфер метки, переданный api, слишком мал» для 0xC00E005E оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.
После исправления повторите тот же вызов на прежних данных; у результата 0xC00E005E должен измениться первый неуспешный этап, а не только последующее сообщение.
Документация для результата 0xC00E005E: MQReceiveMessageByLookupId · Message Queuing error and information codes · MSMQ message properties.
Нужно найти другой код? Найти другой код состояния или ошибки.