Что означает код HRESULT 0x80040E61 (MD_E_BADTUPLE)?

 
Предыдущий Следующий
DB_E_CANTORDER MD_E_BADCOORDINATE

MD_E_BADTUPLE

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

MD_E_BADTUPLE (0x80040E61) — Недопустимый кортеж.

При результате 0x80040E61 граница диагностики проходит внутри подсистемы «COM/WinRT», в области «контракт вызываемого interface, аргументы и state объекта». Здесь сообщение «недопустимый кортеж» связано с темой «md, badtuple».

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

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

Чтобы локализовать 0x80040E61, соберите IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, CLSID, IID, ID, IDs. Затем для 0x80040E61 сравните исправный и неуспешный запуск в части «md, badtuple», меняя одно условие за раз.

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

Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x80040E61 это надёжнее единичного успеха на других данных.

Документация для результата 0x80040E61: OLE DB for OLAP overview · OLE DB for OLAP concepts · multidimensional schemas.


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