Что означает код NTSTATUS 0xC0000702 (STATUS_INVALID_MESSAGE)?

 
Предыдущий Следующий
STATUS_MESSAGE_LOST STATUS_REQUEST_CANCELED

STATUS_INVALID_MESSAGE

Структура сообщения ALPC недопустима для этой операции

Сообщения ALPC содержат нативный заголовок портового сообщения, данные конкретной операции и необязательные атрибуты. Проверка может завершиться ошибкой при несогласованных длинах, неправильном выравнивании, неподходящем типе сообщения, несоответствии маски атрибутов присоединённому буферу или повторном использовании сообщения после изменения его владения.

Не исправляйте это произвольным увеличением буфера. Общая длина, длина данных, архитектурное выравнивание, выделение атрибутов и конкретный API отправки или ответа должны быть согласованы. Закрытые нативные структуры также могут отличаться между версиями Windows, поэтому жёстко заданные макеты особенно ненадёжны.

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

  • Запишите поля заголовка, общий размер выделения, архитектуру, тип сообщения и каждый включённый атрибут ALPC.
  • Убедитесь, что длина данных не включает заголовок, а общая длина охватывает полное представление сообщения, ожидаемое API.
  • Инициализируйте буферы атрибутов соответствующим нативным помощником и не копируйте указатели между процессами.
  • Сравнивайте определения структур с целевой сборкой Windows, а не со случайным снимком SDK.

Ссылки


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