| Предыдущий | Следующий |
| STATUS_MESSAGE_LOST | STATUS_REQUEST_CANCELED |
STATUS_INVALID_MESSAGE
Структура сообщения ALPC недопустима для этой операции
Сообщения ALPC содержат нативный заголовок портового сообщения, данные конкретной операции и необязательные атрибуты. Проверка может завершиться ошибкой при несогласованных длинах, неправильном выравнивании, неподходящем типе сообщения, несоответствии маски атрибутов присоединённому буферу или повторном использовании сообщения после изменения его владения.
Не исправляйте это произвольным увеличением буфера. Общая длина, длина данных, архитектурное выравнивание, выделение атрибутов и конкретный API отправки или ответа должны быть согласованы. Закрытые нативные структуры также могут отличаться между версиями Windows, поэтому жёстко заданные макеты особенно ненадёжны.
Что проверить
- Запишите поля заголовка, общий размер выделения, архитектуру, тип сообщения и каждый включённый атрибут ALPC.
- Убедитесь, что длина данных не включает заголовок, а общая длина охватывает полное представление сообщения, ожидаемое API.
- Инициализируйте буферы атрибутов соответствующим нативным помощником и не копируйте указатели между процессами.
- Сравнивайте определения структур с целевой сборкой Windows, а не со случайным снимком SDK.
Ссылки
- Открытые спецификации Microsoft: значения NTSTATUS
- System Informer PHNT: нативные определения ALPC
- Метаданные Microsoft Windows SDK: ntstatus.h
Нужно найти другой код? Найти другой код состояния или ошибки.