| Предыдущий | Следующий |
| MF_E_PEAUTH_SESSION_NOT_STARTED | MF_E_PEAUTH_PUBLICKEY_REVOKED |
MF_E_INSUFFICIENT_BUFFER
Что означает MF_E_INSUFFICIENT_BUFFER
MF_E_INSUFFICIENT_BUFFER (0xC00D7170) — Недостаточно памяти для ответа.
Несмотря на русское системное описание, этот HRESULT обычно говорит не о нехватке памяти компьютера, а о слишком маленьком выходном буфере, переданном вызывающим кодом. API не может поместить в него строку, двоичный блок, список или другую структуру результата.
Что проверить и как подтвердить исправление
Зафиксируйте переданный размер и требуемый размер, если метод его возвращает. Проверьте единицы: байты, символы и число элементов нельзя взаимозаменять; отдельно учитывайте завершающий ноль там, где он входит в контракт.
Если API поддерживает двухшаговый шаблон, сначала запросите требуемый размер без хранения результата, затем выделите буфер подходящего размера и повторите вызов. Между этими двумя вызовами учитывайте, может ли размер динамически измениться.
Отличайте этот код от MF_E_RT_OUTOFMEMORY и других ошибок реального исчерпания ресурсов: увеличение системной памяти не исправляет неверно рассчитанный буфер вызывающего кода.
Документация для результата 0xC00D7170: Media Foundation architecture · Media Foundation error codes · Media samples.
Нужно найти другой код? Найти другой код состояния или ошибки.
