| Предыдущий | Следующий |
| STATUS_LPC_RECEIVE_BUFFER_EXPECTED | STATUS_LPC_REQUESTS_NOT_ALLOWED |
STATUS_LPC_INVALID_CONNECTION_USAGE
Собственный дескриптор порта имеет неправильную роль
Порты подключения принимают или устанавливают каналы, а коммуникационные порты передают сообщения после создания соединения. Собственные API проверяют эти роли. Использование серверного дескриптора подключения для обычных запросов, ответ через неправильную конечную точку или смешивание дескрипторов разных соединений может привести к этой ошибке.
Одно числовое значение дескриптора не показывает логическую роль, ожидаемую приложением. Храните дескрипторы подключения, серверной связи и клиентской связи в отдельных объектах и независимо аннулируйте их при завершении, чтобы повторное подключение не использовало устаревшее состояние.
Что проверить
- Регистрируйте собственный API, ожидаемую роль порта, значение дескриптора, идентификатор соединения и процесс, создавший каждый дескриптор.
- Проследите результат accept/connect, создавший коммуникационную конечную точку для сбойного вызова.
- Не используйте одно нетипизированное поле дескриптора для listener, клиента и принятого соединения.
- Проверьте, что ответы возвращаются через ту же коммуникационную связь, что и запросы.
Ссылки
- Открытые спецификации Microsoft: значения NTSTATUS
- System Informer PHNT: собственные определения LPC
- Исходный код ReactOS: реализация LPC
Нужно найти другой код? Найти другой код состояния или ошибки.