| Предыдущий | Следующий |
| CI_E_NOT_INITIALIZED | CI_E_PROPERTY_NOT_CACHED |
CI_E_BUFFERTOOSMALL
Что означает CI_E_BUFFERTOOSMALL
CI_E_BUFFERTOOSMALL означает: Буфер слишком мал. Выделенного вызывающей стороной буфера недостаточно для результата операции Indexing Service. Обычно API сообщает требуемый размер или позволяет повторить вызов с большим буфером.
Что проверить
- Определите точный API и единицы размера: байты, символы или элементы структуры.
- Сохраните значение требуемой длины, возвращённое первым вызовом, и проверьте переполнение при вычислении нового размера.
- Для строк учтите завершающий NUL и фактическую кодировку; для структур — версию и размер заголовка.
Дальнейшие действия
Увеличьте буфер на основании размера, полученного от API, и повторите только эту операцию. Не маскируйте ошибку огромным фиксированным буфером: это скрывает неверный расчёт длины и создаёт лишний расход памяти.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.