| Предыдущий | Следующий |
| ERROR_INVALID_PORT_ATTRIBUTES | ERROR_INVALID_QUOTA_LOWER |
ERROR_PORT_MESSAGE_TOO_LONG
Что означает ERROR_PORT_MESSAGE_TOO_LONG
ERROR_PORT_MESSAGE_TOO_LONG — сообщение LPC/ALPC превышает максимальный размер, допустимый для native port request или request/reply операции.
Ограничение относится ко всему представлению сообщения и может учитывать заголовок, attributes и выравнивание, а не только полезную нагрузку приложения. Поэтому увеличение выделенного application buffer само по себе не меняет лимит транспорта.
Что проверить
- Полный размер сообщения, размер payload, версию заголовка и фактический предел используемого API.
- Единицы всех полей длины: распространённая ошибка — передать число символов там, где ожидаются байты.
- Переполнение при сложении вложенных размеров и различия структуры между клиентом и сервером.
- Архитектуру и сборку Windows, если код использует native структуры напрямую.
Что делать
Разбивайте объёмные данные на ограниченные фрагменты либо помещайте их в shared memory/file-backed section, передавая через порт только небольшой descriptor/context. Не обрезайте структурированное сообщение и не выделяйте память только по недоверенному заявленному размеру.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.