Что означает код NTSTATUS 0xC003000B (RPC_NT_BYTE_COUNT_TOO_SMALL)?

 
Предыдущий Следующий
RPC_NT_ENUM_VALUE_OUT_OF_RANGE RPC_NT_BAD_STUB_DATA

RPC_NT_BYTE_COUNT_TOO_SMALL

Число байтов RPC слишком мало для маршалированных данных

RPC_NT_BYTE_COUNT_TOO_SMALL возвращается проверкой заглушки или NDR, когда переданный вызывающей стороной размер не соответствует данным, которые требуется передать или декодировать. Это часто встречается для конформантных массивов, байтовых буферов, строк и буферов сериализации.

Не считайте это коротким сетевым чтением, пока не проверены атрибуты размера IDL и фактические длины буферов. Заглушка может отклонить аргументы до выполнения какой-либо полезной операции на сервере.

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

  • Проверьте атрибуты IDL, такие как size_is, length_is, и параметры количества буфера относительно фактически выделенной памяти.
  • Проверьте усечение целого при преобразовании числа элементов в байты.
  • Для служб сериализации убедитесь, что предоставленный буфер кодирования или декодирования достаточно велик для маршалированного представления.

Ссылки


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