Что означает код HRESULT 0xC00D7170 (MF_E_INSUFFICIENT_BUFFER)?

 
Предыдущий Следующий
MF_E_PEAUTH_SESSION_NOT_STARTED MF_E_PEAUTH_PUBLICKEY_REVOKED

MF_E_INSUFFICIENT_BUFFER

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

MF_E_INSUFFICIENT_BUFFER (0xC00D7170) — Недостаточно памяти для ответа.

Код 0xC00D7170 относится не ко всему компоненту «COM/WinRT», а к операции в области «контракт вызываемого interface, аргументы и state объекта». Сообщение «недостаточно памяти для ответа» позволяет начать с темы «mf, insufficient, buffer».

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

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

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

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

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

Документация для результата 0xC00D7170: Media Foundation architecture · Media Foundation error codes · Media samples.


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