Что означает код ошибки Windows 8309 (ERROR_DS_USER_BUFFER_TO_SMALL)?

 
Предыдущий Следующий
ERROR_DS_NO_REQUESTED_ATTS_FOUND ERROR_DS_ATT_IS_NOT_ON_OBJ

ERROR_DS_USER_BUFFER_TO_SMALL

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

ERROR_DS_USER_BUFFER_TO_SMALL означает, что буфера, переданного в Directory Services API, недостаточно для возвращаемых данных. Ошибка особенно легко воспроизводится при структурах переменной длины и при путанице между размером в байтах и количеством символов.

Что проверить

  • Запишите переданный размер, требуемый размер и единицы, которые использует конкретный API.
  • Применяйте схему «сначала получить требуемый размер, затем выделить буфер и прочитать данные».
  • Проверьте alignment, версию структуры и хвостовые поля переменной длины при собственном выделении памяти.
  • Если данные могут измениться между двумя вызовами, используйте ограниченный повтор с новым required size.

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

Исправление подтверждается повторным вызовом с размером, возвращённым Directory Services API: данные помещаются полностью, а required size и используемые единицы совпадают с контрактом функции.

Технические ссылки


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