Что означает код HRESULT 0x8000000B (E_BOUNDS)?

 
Также может означать:
КонстантаТипОС
STATUS_NO_INHERITANCENTSTATUSWindows
Предыдущий Следующий
E_PENDING E_CHANGED_STATE

E_BOUNDS

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

E_BOUNDS (0x8000000B) — Операция попыталась обратиться к данным за пределами допустимого диапазона.

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

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

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

Для воспроизведения 0x8000000B сохраните IID и method, thread/apartment, argument values, object state и исходный HRESULT; отдельно запишите HRESULT, ID, IDs, IAgileObject. По теме «bounds» для 0x8000000B сравните эти данные с исправным запуском до очистки журналов или пересоздания объекта.

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

Подтвердите изменение повтором исходной операции: результат 0x8000000B не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.

Документация для результата 0x8000000B: C++/WinRT error handling · concurrency and asynchronous operations · WinMD files.


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